如果我们定义自己的构造函数,那么java如何将实例变量初始化为其默认值

swd*_*per 4 java default-value default-constructor

Java使用默认构造函数为实例变量分配默认值.但是如果我们定义自己的构造函数,那么java如何给出默认值(因为当我们编写构造函数时,则不添加默认构造函数).

aio*_*obe 8

Java使用默认构造函数为实例变量分配默认值.

不,不是真的.它会在执行任何构造函数之前自动为所有成员分配默认值.

但是如果我们定义自己的构造函数,那么java如何给出默认值(因为当我们编写构造函数时,则不添加默认构造函数).

它仍然为所有成员分配默认值.

class Test {

    int i;
    Object ref;

    Test() {
        System.out.println(i);
        System.out.println(ref);
    }


    public static void main(String[] args) {
        new Test();
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

0
null
Run Code Online (Sandbox Code Playgroud)