您的位置:首页 > 编程语言 > Java开发

《对象创建过程中 实例化的顺序》摘自《Thinking in JAVA》

2018-01-02 16:11 381 查看
最近一直在看《Thinking In JAVA》,里面一些知识点自己平日里还真没有注意过:

譬如这部分:在实例化对象的过程,对象的各部分的初始化顺序:

总结一下对象的创建过程,假如有个名为Dog的类:

1.即使没有显示的使用Static关键字,构造器实际上也是静态方法,因此首次创建Dog对象时,或者Dog类的静态方法、静态域首次被访问时,Java解释器必须查找类路径,以定位

Dog.class文件

2.然后加载Dog.class文件,有关静态初始化的所有动作都会执行。因此,静态初始化只会在Class对象首次加载时进行一次。

3.当用New Dog()创建对象的时候,首先为Dog在堆上分配足够的存储空间。

4.这块存储空间会被清零,这就将Dog对象中的所有基本数据类型都设成了默认值,而引用则设成了Null。

5.执行所有出现与字段定义处的初始化动作。

6,执行构造器,这可能会牵涉到很多动作,尤其是在涉及继承的时候。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: