小结:
1.静态代码块是类加载时执行(只有一次),普通代码块是创建对象时调用,创建一次,调用一次
2.创建一个对象时,在一个类中的调用顺序是,静态属性/代码块的调用优先级大于普通属性/代码块大于构造器,同等级调用时谁先定义先调用谁。
3.构造器隐藏了super()和调用普通方法块。
3.具有继承关系的对象创建时,调用优先级是父类静态代码块/属性初始化>子类静态代码块/属性初始化>父类普通代码块/属性初始化>父类构造器>子类普通代码块/属性初始化>子类构造器
小结:
1.静态代码块是类加载时执行(只有一次),普通代码块是创建对象时调用,创建一次,调用一次
2.创建一个对象时,在一个类中的调用顺序是,静态属性/代码块的调用优先级大于普通属性/代码块大于构造器,同等级调用时谁先定义先调用谁。
3.构造器隐藏了super()和调用普通方法块。
3.具有继承关系的对象创建时,调用优先级是父类静态代码块/属性初始化>子类静态代码块/属性初始化>父类普通代码块/属性初始化>父类构造器>子类普通代码块/属性初始化>子类构造器