代码块(初始化块)

Posted fangfangfanga

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码块(初始化块)相关的知识,希望对你有一定的参考价值。

代码块(初始化块)的作用:对java对象进行初始化。

程序的执行顺序

  1、声明成员变量的默认值;

  2、显式初始化、多个初始化块依次被执行(同级别下按先后顺序执行);

  3、构造方法再对成员进行赋值操作;

一个类中的初始化块若有修饰符,则只能被static修饰,称为静态代码块(static block),当类被载入时,类属性的声明和静态代码块按先后顺序执行,且只执行一次。

非静态代码块:

  可以有输出语句;

  可以对类的属性声明进行初始化操作;

  可以调用静态和非静态的变量或方法;

  若有多个非静态的代码块,那么按照从上到下的顺序一次执行;

  每次创建对象的时候,都会执行一次;

静态代码块:

  可以有输出语句;

  可以对类的属性声明进行初始化操作;

  不可以对非静态的属性初始化;

  静态代码块的执行要先于非静态代码块;

  静态代码块只执行一次;

 

在匿名内部类中,用代码块代替构造方法。

  

以上是关于代码块(初始化块)的主要内容,如果未能解决你的问题,请参考以下文章

Java代码块

静态代码块构造代码块构造函数

代码块

Java的静态块和初始化块分别何时执行?有啥区别?

继承-代码块-接口

静态代码块构造代码块构造函数以及Java类初始化顺序