繁体   English   中英

在java中,内部类是否可以从内部类外部类之外定义的抽象类继承?

[英]In java can inner classes inherit from an abstract class defined outside of the inner class's outer class?

在java中,内部类是否可以从内部类外部类之外定义的抽象类继承?

抽象类也可以实现构造函数吗?

对两者都是。

例如,在内部类中扩展Swing Listener Adapter类是很常见的

你为什么不试试呢?

你的意思是...

abstract public class Outer { 
 public Outer() { System.out.println("Outer.ctor"); }
 abstract public String foo(); 
}

public class Inner {
  public static class Inner2 extends Outer {
    public Inner2() { super(); }
    public String foo() { return "Inner2.foo";}
  }

  public static void main(String[] args) {
    System.out.println("main: " + new Inner2().foo());
  }
}

...?

$ javac -d .  Outer.java Inner.java

$ java -cp . Inner
Outer.ctor
main: Inner2.foo

(对“super()”的多余调用仅仅是说明性的,并非必要。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM