黑马程序员技术交流社区

标题: 子类实例化顺序(拿自己看的懂的学,都是一样的) [打印本页]

作者: lanzy1989    时间: 2014-9-21 21:15
标题: 子类实例化顺序(拿自己看的懂的学,都是一样的)
我写的
父类的静态成员,静态初始化快 (根据代码的书写顺序)
子类的静态成员,静态初始化快 (根据代码的书写顺序)

父类的实例成员,实例初始化快 (根据代码的书写顺序)
父类的构造器
子类的实例成员,实例初始化快 (根据代码的书写顺序)
子类的构造器


网络搜的
1父类的静态初始化域,
2子类的静态初始化域,
3父类的非静态初始化域,
4父类的构造函数,
5子类的非静态初始化域,
6子类的构造函数

老师讲的:子类的实例化过程:
        1、子类的构造方法(不执行语句,判断先走哪)
        2、父类的构造方法(不执行语句,判断先走哪)
                默认初始化属性
                显示初始化属性/代码块初始化属性
                构造方法开始执行代码
                父类构造结束
        3、子类构造方法(不执行语句,判断先走哪)
                默认初始化属性
                显示初始化属性/代码块初始化属性
                构造方法开始执行代码
                子类构造结束

对象实例化顺序:
               
                1、构造方法(不执行语句,只是表明我要创建实例对象了!)
                2、属性默认初始化
                3、静态显示初始化>静态代码块
                        根据定义先后顺序决定,一般静态构造代码块写在属性后边。所以一般认为静态显示初始化在静态构造代码块之前。
                4、显示初始化>构造代码块:
                        根据定义先后顺序决定,一般构造代码块写在属性后边。所以一般认为显示初始化在构造代码块之前。
                5、构造方法(构造方法的内容)






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2