San*_*dal 4 java inheritance interface abstract
我问一个非常基本的问题,它可能被标记为重复(虽然我找不到答案):
是否有任何抽象类的实际示例,所有方法都声明为Abstract?
在大多数情况下,如Java教程中所提到的,所有方法抽象的类都应该是一个接口.
但由于抽象类和接口是两个不同的概念,我正在寻找一个令人信服的例子来拥有"完整的抽象类"
我认为唯一可行的方法是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)
使用抽象类的缺点是你也失去了扩展其他东西的可能性.