我对java中的默认构造函数有疑问。
正如我所读到的关于 java 中的构造函数的内容一样,默认构造函数将所有实例变量初始化为其默认值。但是如果我们为一个类定义一个构造函数,那么如果我们想要变量如何初始化为它们的默认值呢?
假设我有 2 个文件 a.java
public class a
{
int x;
public a(int z)
{
if(z > 0)
{
x = z;
}
}
public void get()
{
System.out.println(x);
}
}
和 b.java
public class b
{
public static void main(String[] args)
{
a obj = new a(-4);
obj.get();
}
}
现在这里的条件 (z>0) 失败了,所以 x 被初始化为零。但究竟是什么,因为它们在 a 类中没有默认构造函数。