静态代码块 > 构造方法 > 实例代码块(有对象产生才会执行)
静态方法和属性由外层只执行一遍,上面的代码中d.t1 == d.t1.t1 == d.t1.t1.t1 == ...
public static Demo2 t1=new Demo2("t1") 这种写法不太建议,赋值放在构造方法里面比较好
比如非静态的情况
public Demo2 t1=new Demo2("t1")这样声明加初始化的方式,会多次执行且会造成内存溢出
静态方法和属性由外层只执行一遍,上面的代码中d.t1 == d.t1.t1 == d.t1.t1.t1 == ...
public static Demo2 t1=new Demo2("t1") 这种写法不太建议,赋值放在构造方法里面比较好
比如非静态的情况
public Demo2 t1=new Demo2("t1")这样声明加初始化的方式,会多次执行且会造成内存溢出