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

发布于 2024-11-05 12:55:47 字数 62 浏览 3 评论 0原文

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

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

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

Also can abstract classes implement constructors?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

此刻的回忆 2024-11-12 12:55:47

两者皆是。

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

为什么您不尝试一下呢?

Yes to both.

For example it is quite common to extend Swing Listener Adapter classes in inner classes

Why didn't you just try it?

吹泡泡o 2024-11-12 12:55:47

你的意思是……

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()”的多余调用只是说明性的,并不是必需的。)

Do you mean...

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

(The superfluous calls to "super()" are merely illustrative, & are not necessary.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文