Java 在什么情况下,您更喜欢没有方法的抽象类?
我正在浏览一些Java代码,我看到了很多抽象类,其中没有任何内容 例如,像这样的事情-Java 在什么情况下,您更喜欢没有方法的抽象类?,java,oop,Java,Oop,我正在浏览一些Java代码,我看到了很多抽象类,其中没有任何内容 例如,像这样的事情- public abstract class Processor { } 不过,它们有具体的实现类。在什么情况下这样的抽象类才有意义?其中一种情况是,如果您不希望使用new关键字实例化类,那么您可以将其定义为抽象类 其中一种情况是,如果不希望使用new关键字实例化类,那么可以将其定义为抽象类 在一些库中,他们将使用反射来寻找这些标记抽象类的实现。另外,这是一种通过抽象类名本身为代码编写的文档。在某些库中
public abstract class Processor
{
}
不过,它们有具体的实现类。在什么情况下这样的抽象类才有意义?其中一种情况是,如果您不希望使用
new
关键字实例化类,那么您可以将其定义为抽象类 其中一种情况是,如果不希望使用new
关键字实例化类,那么可以将其定义为抽象类 在一些库中,他们将使用反射来寻找这些标记抽象类的实现。另外,这是一种通过抽象类名本身为代码编写的文档。在某些库中,他们将使用反射查找这些标记抽象类的实现。另外,这是一种通过抽象类名本身为代码编写的文档。在我看来,当您想要创建一个行为和状态与所有子类相同的基类时,最好使用抽象类而不是接口。我不确定在什么情况下空的抽象类会比接口更有用。通常,标记接口是空的。在我看来,当您想要创建一个行为和状态与所有子类相同的基类时,抽象类比接口更可取。我不确定在什么情况下空的抽象类会比接口更有用。通常,标记接口是空的。Abstract
当您有一些对所有可能的实现类都通用的逻辑时,会使用类
编写一个
抽象类
,内部没有任何内容,不同的类对其进行扩展,这是非常无用的。唯一的区别
是,您可以对所有具体类使用相同的句柄。抽象类是在您拥有一些可能的通用逻辑时使用的实现类
写一个抽象类
,里面没有任何东西,不同的类扩展它,这是非常无用的。唯一的区别
是,你可以对所有的具体类使用相同的句柄。对于你可以使用的泛型,你可以看看这个线程:@bluesman,它不解释没有方法。对于您可以使用的泛型,您可以查看以下线程:@bluesman,它不解释没有方法。如果它与没有方法的类有什么关系呢?Processor p=new Processor(){}代码>@悲惨:不确定你的意思?@你给出了声明类的理由摘要,不是为了创建一个没有方法的抽象类。@PaulVargas:我认为语法上说你是在用方法实现创建匿名类。如果它与一个没有方法的类有什么关系呢?关于Processor p=new Processor(){}
@Miseraverable:不确定你的意思是什么?@ThinkStip你给出了一个声明类abstract
,而不是创建一个没有方法的抽象类的理由。@PaulVargas:我想语法上说你是在创建一个匿名类,带有方法实现。接口
被用作标记。显然,一个(具体的)类可以有多个标记。接口
用作标记。很明显,一个(具体的)类可以有不止一个标记?