【发布时间】:2016-04-14 19:13:58
【问题描述】:
使用 Java 工作。
我已经定义了几个不同的抽象类,每个抽象类都有一个名为 aCommonMethod 的静态方法。每一个还有一个依赖方法,它本身调用一个CommonMethod,如下:
public abstract class SomeAbstractClass{
public static void aCommonMethod() {
// does something
}
public static void someDependentMethod() {
//some stuff
aCommonMethod()
//some more stuff
}
}
方法 someDependentMethod 对于我的每个抽象类都是相同的,除了通过调用 aCommonMethod 调用的方法。
在 Java 中实现这个的惯用方式是什么?到目前为止,除了将 aCommonMethod 方法实际复制到我的每个抽象类中之外,我找不到任何有效的方法。显然,最好只在某个地方编写一次该方法,然后让我的抽象类以某种方式继承它。我在 Java 中找不到任何方法。
【问题讨论】:
-
SomeAbstractClass 实际上并不是抽象的。您是否发布了正确的代码?
-
你为什么使用抽象类而不是接口?
标签: java inheritance static overriding abstract