所有方法抽象的抽象类 - 实例

San*_*dal 4 java inheritance interface abstract

我问一个非常基本的问题,它可能被标记为重复(虽然我找不到答案):

是否有任何抽象类的实际示例,所有方法都声明为Abstract?

在大多数情况下,如Java教程中所提到的,所有方法抽象的类都应该是一个接口.

但由于抽象类和接口是两个不同的概念,我正在寻找一个令人信服的例子来拥有"完整的抽象类"

nac*_*okk 5

我认为唯一可行的方法是Abstract class可以保持状态.因此,您可以拥有具有访问级别的内部属性protected,并且您可以protected abstract methods在界面中进行此操作而不会导致所有属性public.

一个实际的例子就是这样,java中的protected方法有'继承访问'和'包访问'.

public interface Operation{
void operate();
} 

public abstract class AbstractClase implements Operation{
 protected Operation delegate;

 public AbstractClase(Operation delegate){
  this.delegate=delegate;
 }

 //delegate implementation responsability to children
 protected abstract doSomething();

}
Run Code Online (Sandbox Code Playgroud)

使用抽象类的缺点是你也失去了扩展其他东西的可能性.