如何在 java 中实现具有相同签名的已实现接口的覆盖方法。并为每个接口给出不同的实现

How to implement an override method of implemented interfaces with the same signature in java. And give different implementations for each interface

假设我有两个具有相同方法签名的接口 InterfaceA 和 InterfaceB。 接口A:

public interface InterfaceA {
    void printInterfaceName();
}

和接口 B:

public interface InterfaceB {
    void printInterfaceName();
}

我有一个正在实现这两个接口的 Printing class 打印 class:

public class Printing implements InterfaceA, InterfaceB {
    // want to override the printInterfaceName() method such way
    // so that it will give an output which given in main method comment
}

我有一个 Main class,上面有一个 main 方法

public class Main {
    public static void main(String[] args) {
        InterfaceA a = new Printing();
        InterfaceB b = new Printing();

        a.printInterfaceName(); // this is should print `INTERFACE-A`
        b.printInterfaceName(); // and this is should print `INTERFACE-B`
    }
}

由于该方法不知道上下文(a.printInterfaceName() 或 b.printInterfaceName()),因此无法区分它们并打印 INTERFACE-AINTERFACE-B.

据我所知,无论是反射还是instanceof都不能解决问题。在接口中使用默认方法也不起作用。

也许您可以写更多关于您的意图,以便提出不同的解决方案?