Java继承内部类的问题

灰太狼 2024-02-17 22:45 145阅读 0赞
Java内部类的继承问题
  1. public class Outer {
  2. public void say() {
  3. System.out.println("outer");
  4. }
  5. class Inner {
  6. public void say() {
  7. System.out.println("inner");
  8. }
  9. }
  10. }
  11. public class Test extends Outer.Inner {
  12. /**
  13. * 继承内部类Inner会在Test类的无参构造中默认调用super();方法,即
  14. * public Test(){
  15. * super();
  16. * }
  17. * 此时调用的是Inner的无参构造, 而由于Inner是Outer的内部类,因此需要先创建Outer之后才能调用到Inner,所以需要调用Outer的无参构造才能创建Outer的对象。也就产生了以下代码
  18. */
  19. public Test(Outer outer){
  20. outer.super();
  21. }
  22. public static void main(String[] args) {
  23. }
  24. }

发表评论

表情:
评论列表 (有 0 条评论,145人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java 内部实现“多重继承

    ava里面是没有多重继承的,因为永远是单根继承。但是通过内部类的继承,保存一个内部类的对象,可以模拟出一种多重继承。 匿名内部类实现 假如这里有一位蔡同学,他喜欢...