2つのインターフェイスで同じ名前のメソッドを実装する必要がある場合は、method()が2回呼び出されます。 2つの異なるインターフェースに2つのメソッドが実装されている必要があります。2つのインターフェイスで同じ名前のメソッドを実装する必要がある
public class MainClass implements BarObj.BarInt, FooObj.FooInt{
MainClass(){
}
void trigger()
{
new BarObj(this);
new FooObj(this);
}
@Override
public void method() {
System.out.println("I DONT KNOW WHICH METHOD");
}
public static void main(String[] args) {
new MainClass().trigger();
}
}
public class BarObj {
interface BarInt
{
void method();
}
public BarObj(BarInt _barInt)
{
_barInt.method();
}
}
public class FooObj {
interface FooInt
{
public void method();
}
public FooObj(FooInt _fooInt)
{
_fooInt.method();
}
}
私は同じメソッドを含む2つのインターフェイスを持っていても、コンパイラはImplementationクラスのオーバーライドされたメソッドを探します。だから、あなたは区別することはできません。 – Truthira
可能な重複:https://stackoverflow.com/questions/2801878/implementing-two-interfaces-in-a-class-with-same-method-which-interface-method –
2つのクラスを作成し、別のクラスを実装し、両方のオブジェクトを開始するメインクラスを作成します。 – Eliethesaiyan