Java 在类中继承多个方法

Java 在类中继承多个方法,java,inheritance,interface,Java,Inheritance,Interface,我有两种不同的方法需要在我的程序中重复,例如methodA和methodB 程序的某些部分需要调用methodA,而另一些部分需要调用methodB,还有一些部分需要同时调用它们。这些方法在整个程序中的实现是相同的 我应该如何构造类和方法以减少重复?我想到的第一件事是,我希望Java支持多重继承 我想到的第二件事是将每个方法放在它们自己的接口中,并让类根据需要实现它们,但是在整个程序中方法的实现是完全相同的,因此必须在每个类中定义实现听起来不是一个好主意 我仅限于Java6。7如果我能说服团队中

我有两种不同的方法需要在我的程序中重复,例如methodA和methodB

程序的某些部分需要调用methodA,而另一些部分需要调用methodB,还有一些部分需要同时调用它们。这些方法在整个程序中的实现是相同的

我应该如何构造类和方法以减少重复?我想到的第一件事是,我希望Java支持多重继承

我想到的第二件事是将每个方法放在它们自己的接口中,并让类根据需要实现它们,但是在整个程序中方法的实现是完全相同的,因此必须在每个类中定义实现听起来不是一个好主意

我仅限于Java6。7如果我能说服团队中的其他人,那么Java 8附带的默认方法实现就不是一个选项


p、 我意识到这个问题的标题很糟糕,但我想不出一个简单的方法来解释这个问题。如果您有更好的方法,请推荐一个。

如果这是重构代码的一部分,为什么您不能将重复代码放在一个侧面(可能是私有的)方法C中,并从这两个方法调用它?

您应该有两个接口,但是你可以用一个类来实现两个接口。

这取决于你正在编写的程序的类型。如果是web系统,我认为你应该创建这两个类,因为层是必要的。

我想:

public interface Foo{  
  public Object processA(Object first);
  public Object processB(Ojbect second);
}

public abstract class AbstractFoo implements Foo{
   protected AbstractFoo(){}

   public Object processA(Object o){
       // do stuff
       return null;
   }

   public Object processB(Object o){
       // do more stuff
       return null;
   }
 }

 public class ConcreteFoo extends AbstractFoo {
 }

似乎很适合定义
接口
@sᴜʀᴇsʜᴀᴛᴛᴀ, 是的,但是这些方法的实现在不同的类中是完全相同的。定义接口不需要我在每个类中重新定义方法吗?不太清楚为什么不能简单地从定义这两个方法的基类扩展。示例代码会有所帮助。如果实现没有更改,则应使用
static
方法。该方法不需要在类中才能从类中使用。@JBNizet,基本上,我需要类似[this][,但我不能使用Java 8。编辑您的更新:因为正如我前面提到的,有些类需要A,有些类需要B,有些类需要两者。