抽象方法意味着没有默认实现,并且实现类将提供详细信息。
本质上,您将拥有
abstract class AbstractObject { public abstract void method();}class ImplementingObject extends AbstractObject { public void method() { doSomething(); }}
因此,它与错误状态完全相同:您的抽象方法不能具有主体。
在Oracle网站上有完整的教程,网址为:http
:
//download.oracle.com/javase/tutorial/java/IandI/abstract.html
之所以这样做,是因为多个对象可以共享某些行为,而不是全部行为。
一个非常简单的示例是形状:
您可以有一个通用的图形对象,该对象知道如何重新定位自己,但是实现类实际上会自行绘制。
(摘自我上面链接的网站)
abstract class GraphicObject { int x, y; ... void moveTo(int newX, int newY) { ... } abstract void draw(); abstract void resize();}class Circle extends GraphicObject { void draw() { ... } void resize() { ... }}class Rectangle extends GraphicObject { void draw() { ... } void resize() { ... }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)