java对象创建过程
?
这几天在看 Think in java ?第四版?
?
第四章 4.2.2 讲到了对象创建过程的总结,如下
?
?在这里有必要总结一下对象的创建过程。请考虑一个名为 Dog 的类:?
(1) 类型为 Dog 的一个对象首次创建时,或者Dog 类的static方法/static字段首次访问时,Java 解释器?
必须找到Dog.class (在事先设好的类路径里搜索)。?
(2) 找到Dog.class 后(它会创建一个 Class对象,这将在后面学到),它的所有static初始化模块都会运?
行。因此,static初始化仅发生一次——在Class 对象首次载入的时候。?
(3) 创建一个new Dog()时,Dog 对象的构建进程首先会在内存堆(Heap)里为一个Dog对象分配足够多的存?
储空间。?
(4) 这种存储空间会清为零,将Dog 中的所有基本类型设为它们的默认值(零用于数字,以及boolean和?
char 的等价设定)。?
(5) 进行字段定义时发生的所有初始化都会执行。?
(6) 执行构建器。正如第6 章将要讲到的那样,这实际可能要求进行相当多的操作,特别是在涉及继承的时?
候。?
?
?