-1

如果我有一个内部静态类,为什么我不需要构造函数?

4

2 回答 2

4

您不需要任何类的构造函数,因为如果您不提供构造函数,则会隐式提供一个不执行任何操作的公共、无参数构造函数。唯一需要指定构造函数的情况是超类不提供可见的无参数构造函数。

于 2013-08-04T02:05:25.453 回答
3

Java 中的任何类都不需要构造函数。如果您没有定义一个,则会提供一个默认构造函数。这将等同于:

public MyClass() {
    super();
}

(当然,该默认构造函数可能无法“工作”;即它可能导致编译错误。隐式super();意味着超类需要有一个无参数构造函数,并且该构造函数需要对子类可见。如果这些前提条件是不满意,您需要显式声明一个显式链接到其他超类构造函数的构造函数。)

静态内部类在这方面与其他类型的 Java 类没有什么不同。

于 2013-08-04T02:05:29.703 回答