繁体   English   中英

如何强制在java中重写方法?

[英]How to force a method to be overridden in java?

我必须创建许多非常相似的类,它们之间只有一种方法不同。 所以我认为创建抽象类是实现这一目标的好方法。 但是我想要覆盖的方法(例如,方法foo())没有默认行为。 我不想保留任何默认实现,强制所有扩展类实现此方法。 我该怎么做呢?

您需要在基类上使用抽象方法:

public abstract class BaseClass {
    public abstract void foo();
}

这样,您不指定默认行为, 强制从BaseClass继承的非抽象类指定foo的实现。

只需将foo()定义为基类中的抽象方法:

public abstract class Bar {
   abstract void foo();
}

有关更多信息,请参阅Java™教程(接口和继承)

只需将方法抽象化即可。

这将强制所有子类实现它,即使它是在抽象类的超类中实现的。

public abstract void foo();

如果你有一个抽象类,那么制作你的方法(让我们说foo抽象)

public abstract void foo();

然后所有子类都必须覆盖foo

使这个方法abstract

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM