黑马程序员技术交流社区

标题: 内部类可以被覆盖吗? [打印本页]

作者: 山水游客    时间: 2012-7-12 17:44
标题: 内部类可以被覆盖吗?
本帖最后由 孙胜录 于 2012-7-19 14:31 编辑

如果创建了一个内部类,然后继承其外围类并重新定义比内部类,会发生什么呢?也就是说,内部类可以被覆盖吗?
作者: 游兴钟    时间: 2012-7-12 18:20
本帖最后由 achilles 于 2012-7-12 18:21 编辑

是可以覆盖的 Map类就是一个例子
它的子类TreeMap还有HashMap就都复写了Map的内部接口Map.Entry
作者: 陈淑飞    时间: 2012-7-12 18:29
内部类被编译器, 编译成 字节码文件为
外部类$内部类.class 。
如果创建了一个内部类,然后继承其外围类并重新定义比内部类,会发生什么呢


另一个类第二个外部类继承了第一个外部类,重新定义了第一个外部类中的内部类。
但这个内部类将与它父类中的内部类,没有继承或实现关系。

所以不存在所谓的覆盖或重写的概念。
覆盖或重写,必须是子父类或实现或个接口。

这两个内部类,是完全不同的内部类,没有什么关系。

非得说有关系,也只是说 这两个内部类,都可以访问第一个外部类的 非private 成员。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2