关于 类 嵌套时抽象 类 的问题

Question about Abstract Classes when classes are nested

所以假设 ClassBClassA 中定义的 class(嵌套 类),我的问题是,如果 ClassB 被声明为 abstract 因为它包含抽象方法,是否也必须声明 ClassA Abstract ?

没有。每个 class 的方法都是自己的。 class 不拥有嵌套在其中的其他 classes(或接口!)的方法,并且包含嵌套抽象 class 或嵌套接口不需要容器 class要抽象。

不,不是。外 class 是 abstract 并不重要,Java 中没有规则强制 class 是 abstract.

一个例子:

class classA {
    abstract class classB {      // can also be static
        abstract void foo();
    }
}

另一方面,它与方法有点不同:abstract 方法 必须 仅放置在 abstract class 中es 或接口(隐式抽象)。