2019年10月14日动手动脑(实验总结,初始化)
一、题目
二、源代码
public class Setup { public int value=300; public test() { value=200; } { value=100; } public void print() { System.out.println(value); } public static void main(String[] args) { test A =new test(); A.print(); } }
public class test { public int value=300; { value=100; } public void print() { System.out.println(value); } public static void main(String[] args) { test A =new test(); A.print(); } }
public class test { public int value=300; public void print() { System.out.println(value); } public static void main(String[] args) { test A =new test(); A.print(); } }
三、分析
最后的初始化结果要看谁最后运行,谁最后运行就是谁的值。运行顺序是先定义,再初始化块,最后构造方法。另外类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”。