面对对象当中的代码块

1.局部代码块可以提高内存的利用率,局部代码块在方法中出现限定变量的声明周期,及早的释放,从而提高内存的利用率

2.构造参数代码块,在类的方法外面出现,多个构造方法中,相同的代码存放到一起,每次调用构造代码块都执行,并且在构造方法前执行。

  1. 知识点: 代码块
    1. 普通代码块
     2. 构造代码块 
    3. 静态代码块

    public class CodeBlock {
    //写在构造方法里的叫构造 代码块
    public CodeBlock() {
    System. out. print1n("CodeBlock初始化" );
    }
    //写在static 块里的叫静态代码块
    static {
    System. out. println("static执行");
    }
    public static void main(String[] args) {
    //写在方法里的叫普通代码块
    System. out. print1n("hello");
    new CodeBlock();
    }
    }

普通代码块就是{}两个括号之间包括的代码,称之为代码块,

写在构造方法里面的叫做构造方法代码块

 写在static关键字里的叫做静态代码块,在执行原理中,静态代码块最先执行,

深度理解:

代码块:
用{}括起来的代码。
根据{}的位置可以分为
局部代码块:方法中,局部位置,作用:限定变量作用范围和生命周期。

构造代码块:在类中方法外(成员位置),用{}括起来的代码。
每次调用构造方法执行前,都会执行构造代码块,

作用:把类中不同构造方法中相同的部分提取出来定义到构造代码块中,以后无论调用哪个构造方法都会执行相同操作。可以理解对对象初始化。

静态代码块:在类中方法外(成员位置),用{}括起来,用static修饰。作用:给类进行初始化。

代码块执行顺序:
静态代码块》构造代码块》构造方法
静态代码块:只执行一次

构造代码块:每次创建该类对象,调用构造方法就执行,先于构造方法。
实用案例:

    

入口类:

    

由此可见输出结果是:

    

 解析:

  

通过输出结果可以看出,程序最先加载类执行入口类中的静态代码块打印输出“河南科技大学”

然后接着执行main方法打印后面的程序语句“洛阳牡丹甲天下”,

接着创建DaiMaKuai类的对象加载类执行该类中的静态代码块输出“大家好我是静态代码块!”

接着执行构造代码块输出“大家好我是构造代码块!”

最后执行构造方法输出“大家好我是构造方法!”,

接着又创建一个对象,注意这时静态代码块不再执行(只加载一次),

直接执行构造代码块输出“大家好我是构造代码块!”

最后执行构造方法输出“大家好我是构造方法!”

以上这些就是java里的代码块,他们都有自己的注意事项,和特点,所以希望大家能够理解这些,如果有什么不理解的可以留言博主,(新博住开车,路人慢行(#^.^#))

原文地址:https://www.cnblogs.com/JiXianSen/p/12132814.html