Sha*_*shi 3 java constructor default default-constructor
我有一个关于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);
}
}
Run Code Online (Sandbox Code Playgroud)
和b.java
public class b
{
public static void main(String[] args)
{
a obj = new a(-4);
obj.get();
}
}
Run Code Online (Sandbox Code Playgroud)
现在这里条件(z> 0)失败,所以x被初始化为零.但这究竟是什么,因为它们在类a中没有默认构造函数.