class InitializeBlockClass {
{ field=200; } public int field=100; public InitializeBlockClass (int value){ this.field=value; } public InitializeBlockClass(){ } public static void main(String[] args) { // TODO Auto-generated method stub InitializeBlockClass obj=new InitializeBlockClass(); System.out.println(obj.field); obj=new InitializeBlockClass (300); System.out.println(obj.field); }}
输出100 300
Java字段初始化的规律:Java进行初始化的地方有两个,初始化块和构造函数,其中初始化块又分为静态初始化块和实例初始化块(以上程序为实例初始化块),执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。当有两个构造函数时依据参数个数进行引用。