在构造方法中实例化一个类和在定义成员变量时实例化有什么区别

2025年03月18日 01:15
有1个网友回答
网友(1):

首先2者执行顺序上有差异,成员变量是在构造方法之前执行的,如果未实例化对象,则给默认(int,boolean,object)分别对应(0,false,null)。比如你的类中这样写
Class A
{
int a = 1;
public A()
{
a=2;
}

}

那么初始化后a为2。这可以看出顺序不同。
当一个对象被创建时,初始化是以下面的顺序完成的:

1. 设置成员的值为缺省的初始值 (0, false, null)

2. 调用对象的构造方法 (但是还没有执行构造方法体)

3. 调用父类的构造方法

4. 使用初始化程序和初始块初始化成员

5. 执行构造方法体

具体的JAVA初始化的讲解,可以参考下面的网页,这个我觉得介绍的还比较细致