Java 类与对象深入探究
1. 默认构造函数与无参构造函数
在 Java 中,每个类至少要有一个构造函数。若在类的声明里未提供任何构造函数,编译器会创建一个默认构造函数,此构造函数在被调用时无需参数。默认构造函数会把实例变量初始化为声明中指定的初始值,或者是它们的默认值,像基本数值类型为 0,布尔值为 false,引用类型为 null。
若类中声明了构造函数,编译器就不会创建默认构造函数。要是需要默认初始化,就得声明一个无参构造函数。无参构造函数和默认构造函数一样,调用时使用空括号。例如 Time2 类的无参构造函数(图 8.5 的 12 - 15 行),它通过给三参数构造函数的每个参数传 0 来显式初始化 Time2 对象。由于 0 是 int 实例变量的默认值,这个例子里的无参构造函数实际上可以声明为空体。在此情况下,调用无参构造函数时,每个实例变量会获得其默认值。若省略无参构造函数,该类的使用者就无法用 new Time2()
表达式创建 Time2 对象。
以下是一个简单示例,展示了构造函数的使用:
// 假设这是 Time2 类的部分代码
class Time2 {
private int hour;
private int minute;
private int second;
// 无参构造函数
public Time2() {
this(0, 0, 0);
}
// 三参数构造函数
public Time2(int hour, int minute, int second)