内部类继承问题

zzcc612 2019-09-13 12:56:51
public class OuterInner3 {

public OuterInner3(){
System.out.println("OuterInner3");
}
class Inner{
public Inner(){
System.out.println("Inner");
}
}

}
public class OuterInner4 extends OuterInner3{

public OuterInner4(){
System.out.println("OuterInner4");
}
class Inner1 extends OuterInner3.Inner{
public Inner1(/*OuterInner3 o*/){
//o.super();
System.out.println("Inner1");
}
}
public static void main(String[] args) {

}
}
内部类继承需要外部类的引用,而OuterInner4 继承了外部类,为什么内部类继承又不需要其外部类的引用了
...全文
26 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
oh_Maxy 2019-09-13
  • 打赏
  • 举报
回复
应该是因为 Inner1 所在的 OuterInner4 继承了 OuterInner3 ,此时 OuterInner3 . Inner 类,相当于 OuterInner4 自己的内部类。

所以我们的 class Inner1 extends OuterInner3.Inner 也可以写成 class Inner1 extends Inner 。

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧