java对象初始化顺序

来源:互联网 发布:mysql主键外键 编辑:程序博客网 时间:2024/05/21 08:46
  学习面向对象语言,首先要明白一下,对象里的各个成员的初始化顺序。先通过代码了解一下。
class parent{private staitc life="我是静态成员1";private name="我是非静态成员5";static {system.out.println("我是静态代码块2");}{system.out.println("我是非静态成员6");}public parent(){system.out.println("我是父构造函数7");}}class child extends parent{static{system.out.println("我是静态代码块3");}{system.out.println("我是非静态代码块8");}private name="我是非静态成员9";private static life="我是静态成员4";public child(){system.out.println("我是子构造函数10");}public static void main(String[] args) {child c=new child();}}
总结: Java类首次装入时,会对静态成员变量或方法进行一次初始化,但方法不被调用是不会执行的,静态成员变量和静态初始化块级别相同,非静态成员变量和非静态初始化块级别相同。----------先初始化父类静态成员-->接着初始化子类静态成员-->父类非静态成员-->父类构造函数-->子类非静态成员-->子类构造函数。
0 0
原创粉丝点击