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,编写一些小代码,然后检查一下呢?