我正在浏览一些Java代码,我看到很多抽象类,其中没有任何内容。
例如。像这样的东西 -
public abstract class Processor
{
}
他们有具体的实现课程。在什么情况下这样的抽象类是有意义的?
答案 0 :(得分:3)
IMO,当您想要创建一个具有所有子类共有的行为和状态的基类时,抽象类优先于接口。我不确定任何空抽象类比接口更有用的情况。通常,标记接口是空的。
答案 1 :(得分:2)
Abstract
类。
编写一个内部没有任何内容的Abstract class
和扩展它的不同类几乎没用。只有difference
是你可以对所有具体类使用相同的handle
。
答案 2 :(得分:0)
其中一种情况是,如果您不希望使用new
关键字对您的类进行实例化,那么您可以将其定义为抽象。
答案 3 :(得分:0)
在某些库中,他们会使用反射来查找这些标记抽象类的实现。这也是抽象类名本身的代码文档。