使用私有构造函数对类进行子类化

时间:2013-10-30 11:11:26

标签: java

隐式超级构造函数Example()对于默认构造函数是不可见的。必须定义一个显式构造函数。是这样的,因为我正在定义一个私有构造函数,然后尝试继承其他类中的类??

2 个答案:

答案 0 :(得分:6)

  

是这样的,因为我正在定义一个私有构造函数,然后尝试继承其他类中的类吗?

是。如果你的只有构造函数是私有的,那么就不能创建该类的子类,因为没有可链接的可访问构造函数 - 将嵌套类放在一边(可访问性稍有变化)。 / p>

如果您真的希望能够将原始类子类化,请考虑使构造函数受到保护。

答案 1 :(得分:0)

如果你想要子类,那么你需要从子类构造函数显式调用超级构造函数,因为它是私有的,你不能调用它!因此,从受保护的子类开始,在最不可访问的级别上创建超类构造函数。