我有几个类实现了接口MyInterface,我想让它们都继承抽象类MyAbstractClass。最好的方法是什么?
除了创建另一个继承MyAbstractClass并实现MyInterface的抽象类之外,还有更好的方法吗?
(我发帖前真的没有找到类似的问题)
我有几个类实现了接口MyInterface,我想让它们都继承抽象类MyAbstractClass。最好的方法是什么?
除了创建另一个继承MyAbstractClass并实现MyInterface的抽象类之外,还有更好的方法吗?
(我发帖前真的没有找到类似的问题)
MyAbstractClass
来实现MyInterface
接口,然后让所有其他类扩展MyAbstractClass
:public abstract class MyAbstractClass implements MyInterface {
...
}
public class OneOfSeveral extends MyAbstractClass {
...
}
你不能通过其他方式强制所有具体类扩展MyAbstractClass,除非实际更改它们的定义
class A implements MyInterface
到
class A extends MyAbstractClass
当然了
abstract class MyAbstractClass implements MyInterface
你不需要再写另一个抽象类。
编辑:关于你下面的评论:“我希望每个 MyInterface 的实现都扩展 MyAbstractClass” - 你无法明确地强制执行这一点。如果你想要,你可以定义另一个接口MyAbstractClassInterface
,让MyInterface
扩展它,但是你仍然不能强制现有的类扩展实现了这个接口的抽象类,尽管他们当然必须实现这个接口中定义的方法......
听起来你应该放弃接口,用抽象类替代。
祝好!
MyAbstractClass
中添加(抽象)方法,这些方法在接口中未被定义,并且在你的具体类中实现前者。 - Anders R. Bystrup