我必须创建许多非常相似的类,它们之间只有一种方法不同.所以我认为创建抽象类是实现这一目标的好方法.但是我想要覆盖的方法(例如,方法foo())没有默认行为.我不想保留任何默认实现,强制所有扩展类实现此方法.我该怎么做呢?
Pab*_*ruz 79
您需要在基类上使用抽象方法:
public abstract class BaseClass {
public abstract void foo();
}
Run Code Online (Sandbox Code Playgroud)
这样,您不指定默认行为,并强制继承的非抽象类BaseClass
为其指定实现foo
.
Jen*_*ann 11
只需将foo()定义为基类中的抽象方法:
public abstract class Bar {
abstract void foo();
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅Java™教程(接口和继承).
只需将方法抽象化即可.
这将强制所有子类实现它,即使它是在抽象类的超类中实现的.
public abstract void foo();
Run Code Online (Sandbox Code Playgroud)
如果你有一个抽象类,那么制作你的方法(让我们说foo
抽象)
public abstract void foo();
Run Code Online (Sandbox Code Playgroud)
然后所有子类都必须覆盖foo
.