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

Java 关于类嵌套时的抽象类的问题,java,class,abstract,Java,Class,Abstract,假设ClassB是在ClassA内部定义的类(嵌套类),我的问题是,如果ClassB声明为abstract,因为它包含抽象方法,那么ClassA是否也必须声明为abstract?否。每个类的方法都是自己的。类不拥有嵌套在中的其他类(或接口!)的方法,并且包含嵌套抽象类或嵌套接口的类不要求容器类是抽象的。不,它不需要。无论外部类还是父类是抽象类,Java中都没有规则强制类是抽象类 例如: class classA { abstract class classB { // can

假设
ClassB
是在
ClassA
内部定义的类(嵌套类),我的问题是,如果
ClassB
声明为
abstract
,因为它包含抽象方法,那么ClassA是否也必须声明为
abstract

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

不,它不需要。无论外部类还是父类是
抽象类
,Java中都没有规则强制类是
抽象类

例如:

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

另一方面,它与方法有些不同:
abstract
方法只能放在
abstract
类或接口(隐式抽象)中。

不,a不必这样做。即使他们共享继承关系,
ClassA
作为
ClassB
的父级,仍然不必抽象,因为子级是。为什么不自己检查一下呢?为什么不打开IDE,编写一些小代码,然后检查一下呢?