Java的初始化块

Posted

tags:

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

Java的初始化块分为静态初始化块和非静态初始化块

静态初始化块

static{

    //初始化内容

}

 

非静态初始化块

{

    //初始化内容

}

静态初始化块仅能初始化类变量,即static修饰的数据成员。非静态初始化块在对象每次生成时都会被执行一次,可以初始化类的实例变量。两种初始化块不可以传参数。

非静态初始化块在构造函数执行时且构造函数主体代码没执行前执行

静态初始化块、非静态初始化块、构造函数 执行的顺序为:静态初始化块->非静态初始化块->构造函数

非静态初始化块在匿名内部类中使用较多,因匿名内部类无法使用构造函数,所以初始化工作可以交给非静态初始化块。

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

Java之代码块

Java中的代码块

Java类的成员之四:代码块.

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

java 对象的初始化流程(静态成员静态代码块普通代码块构造方法)

java 静态代码块 代码块 构造函数 静态成员变量 成员变量的初始化顺序