【发布时间】:2013-10-29 20:32:39
【问题描述】:
我有 2 种不同的方法需要在我的程序中重复,例如方法A和方法B。
程序有的部分需要调用methodA,有的需要调用methodB,有的需要两者都调用。这些方法的实现在整个程序中都是相同的。
我应该如何构造类和方法以减少重复?我首先想到的是我希望 Java 支持多重继承。
我想到的第二件事是将每个方法放在自己的接口中,并让类根据需要实现它们,但是方法的实现在整个程序中完全相同,因此必须定义每个类中的实现听起来都不是一个好主意。
如果我能说服团队中的其他人,我仅限于 Java 6. 7,因此 Java 8 附带的默认方法实现不是一个选项。
附言我意识到这个问题的标题很糟糕,但我想不出一种简单的方法来解释这个问题。有的话请推荐更好的。
【问题讨论】:
-
似乎很适合定义
interface。 -
@sᴜʀᴇsʜᴀᴛᴛᴀ,是的,但是方法的实现在各个类中完全相同。定义接口不会要求我重新定义每个类中的方法吗?
-
不清楚为什么不能简单地从定义这两种方法的基类扩展。示例代码会有所帮助。
-
如果实现没有改变,你应该使用
static方法。该方法不需要在类中就可以在类中使用它。 -
@JBNizet,基本上,我需要类似 [this][stackoverflow.com/a/18286258/1253747],但我不能使用 Java 8。编辑您的更新:因为正如我上面提到的,某些类需要 A,有些人需要 B,有些人两者都需要。
标签: java inheritance interface