标签:kde style dem initial 顺序 位置 ring new his
public class InitializeBlockDemo { public static void main(String[] args) { InitializeBlockClass obj=new InitializeBlockClass(); System.out.println(obj.field); obj=new InitializeBlockClass(300); System.out.println(obj.field); } } class InitializeBlockClass{ //下面这句在初始化块之前与之后,会影响到field字段的初始值 //public int field=100; { field=200; }//初始化块 public int field=100; public InitializeBlockClass(int value){ this.field=value; } public InitializeBlockClass(){ } }
上面一段代码,执行结果上会因为类的“初始化块”和“成员定义时的初始化”位置不同而导致其运行结果不同,这就证明了在java类中初始化块与成员定义时的初始化并不存在执行优先级的区分,而是根据他们位置执行,实例成员的值会是最后运行的部分所赋予的值。
标签:kde style dem initial 顺序 位置 ring new his
原文地址:https://www.cnblogs.com/liuleliu/p/11687592.html