标签:技术 bsp ima color new div 优先 顺序 动手
1、动手动脑
由于类中定义了需要参数的构造方法,导致系统不再提供默认的构造方法。
2、java字段初始化规律
源码如下:
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 // TODO Auto-generated method stub 14 InitializeBlockClass obj = new InitializeBlockClass(); 15 System.out.println(obj.field); 16 17 obj = new InitializeBlockClass(300); 18 System.out.println(obj.field); 19 } 20 21 }
运行结果如下:
显然,java字段在初始化时优先按照对应调用的构造方法执行。若构造方法中没有对变量进行初始化,对于变量定义时初始化与初始化块,排在后面的将会覆盖前面的。
3、动手动脑:静态初始化块的执行顺序
1.静态初始化块只执行一次;2.创建子类型的对象时,也会导致父类型的静态初始化块的执行。
4、
如果直接在静态方法中初始化含有实例对象的类会报错:
可以采用这样的方法来调用:
标签:技术 bsp ima color new div 优先 顺序 动手
原文地址:https://www.cnblogs.com/52bb/p/11674604.html