1 public class InitializeBlockClass { 2 { 3 field=200; 4 } 5 public int field=100; 6 public InitializeBlockClass(int value) { 7 this.field=value; 8 } 9 public InitializeBlockClass() { 10 11 } 12 public static void main(String[] args) { 13 InitializeBlockClass obj=new InitializeBlockClass(); 14 System.out.println(obj.field);//? 15 obj=new InitializeBlockClass(30); 16 System.out.println(obj.field);//? 17 } 18 }
运行结果:100
30
执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。
执行类的构造函数
类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”。