对象的创建过程

来源:互联网 发布:知乎企业账号 编辑:程序博客网 时间:2024/05/13 21:26

假设有个名为Dog的类:

1,即使没有显式的使用static 关键字,构造器实际上也是静态方法。因此,当首次创建类型为Dog的对象时,或者Dog的静态方法/静态域首次被访问时,java解释器必须查找类路径,以定位Dog.class文件;

2,然后载入Dog.class(将会创建一个class对象),有关静态初始化的所有动作都会执行。因此,静态初始化只在Class对象首次加载的时候进行一次;

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

4,这块存储空间会被清零,这就自动的将Dog对象的所有基本类型数据类型都设置为默认值;

5,执行所有出现于字段定义处的初始化动作;

6,执行构造器。


来自《Thinking in java》

0 0