Java 对象初始化

 

对象A的建立过程:编程

1. 构造器其实是静态方法。当首次建立对象A 或者 A类的静态方法/静态域首次被访问时,Java解释器查找类路径,以定位安全

    A.class文件。(当程序建立第一个对类的静态成员的应引用时,类会被动态加载到JVM中)对象

2. 载入A.class,有关静态初始化的全部动做都会执行。所以,静态初始化只在Class对象首次加载的时候进行一次。编译器

3. 当用new A()建立对象时,首先在堆上为A对象分配足够的存储空间。编译

4. 这个存储空间会被清零,这样就自动将A对象的全部基本类型数据设置成了默认值,引用则被设置成了null。class

5. 执行全部出现于字段定义处的初始化工做。引用

6. 执行构造器。程序

 

属性、方法、构造方法和自由块都是类中的成员,在建立类的对象时,类中各成员的执行顺序:方法

1. 父类静态成员和静态初始化快,按代码出现的顺序依次执行。
2. 子类静态成员和静态初始化块,按代码出现的顺序依次执行。
3. 父类的实例成员和实例初始化块,按代码出现的顺序依次执行。
4. 父类的构造方法(若是没有明确指出调用某个父类的构造器,就会默认调用父类默认构造器,若是不存在默认构造器,编译器会出数据

     错)
5. 子类实例成员和实例初始化块,按代码出现的顺序依次执行。
6. 子类的构造方法。

 

 

编写构造器的一条有效准则:(Java编程思想第四版中文P163)

“用尽量简单的方法使对象进入正常状态,若是能够的话,避免调用其余方法”,在构造器内惟一可以安全调用的哪些方法是基类中的final方法。

相关文章
相关标签/搜索