初始化块与构造方法

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进行初始化的地方有两个,初始化块和构造函数,其中初始化块又分为静态初始化块和实例初始化块(以上程序为实例初始化块),执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。当有两个构造函数时依据参数个数进行引用。

原文地址:https://www.cnblogs.com/96ZYJ/p/4888321.html