【发布时间】:2018-08-07 08:18:54
【问题描述】:
我正在处理构造函数,我通过了这个例子
public class Time2
{
private int hour;
private int minute;
private int seconds;
public Time2()
{
this(0, 0, 0)
}
}
第二种方法是
public class Time2
{
private int hour;
private int minute;
private int seconds;
public Time2()
{
}
}
我没有在第二种方法中使用this(0,0,0)。以这种方式使用它们有什么区别?
如果我想在其中添加参数怎么办?
public Time2(int hour)
{
this(hour, 0, 0);
}
为什么我们需要添加 null 或 0 而不是不添加或根本不添加任何内容?
【问题讨论】:
-
如果您没有 3 参数构造函数,则不会针对第一种情况编译代码。
this使用给定数量的匹配参数调用另一个构造函数 - 因此您可以指定默认值 -
所以第一个代码中的 this(0,0,0) 会找到一个有 3 个参数的构造函数?如果找不到怎么办?那么它会运行一个默认构造函数吗?
-
不,它不会编译。
标签: java oop constructor