嵌套类可以从Java中的最终封闭类继承吗?

时间:2013-09-13 22:59:28

标签: java final nested-class

我知道子类不能从最终的超类继承但是这样 我的书的子类部分从未表明会发生什么 嵌套类的情况。

3 个答案:

答案 0 :(得分:1)

没有

使一个类决赛​​的重点在于它不能从中继承。

请参阅the last paragraph here

答案 1 :(得分:1)

不,JVM将嵌套类视为Outer$Inner,并且对于二进制兼容性,不会尝试使用内部或非内部扩展最终类。事实上,除了通常不为运行时/链接时保留的编译时差异之外,它只不过是一个静态内部类,它只是一个名称中带有$的类。编译器只是简单地捕获它。

最终类中的内部类很好,因为没有隐含或给出扩展/子类型关系。

试一试,看看。您的编译器 会因为错误而将您打死。它的最佳特性是耐心,即使是严格的语法。检查自己会比在这里问更快。

答案 2 :(得分:0)

我想我首先误解了你的问题。尽管如此:

嵌套类不从父类继承,因此最终类可以包含内部类,因为外部类的每个实例都包含内部类(除非在声明内部类时使用静态)。外部类和内部类之间的关系没有隐式继承。

此外,内部类不能从外部类继承,因为外部类被认为是最终的,因此永远不会被扩展。