黑马程序员技术交流社区
标题:
内部类可以被覆盖吗?
[打印本页]
作者:
山水游客
时间:
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