为什么我不需要静态内部类的构造函数?

时间:2013-08-04 02:00:53

标签: java android class object static

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

如果未定义一个,则提供默认构造函数。它将等同于:

public MyClass() {
    super();
}

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

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