java - 具有相同方法名称的两个接口(interface),当我覆盖时会发生什么?

标签 java interface overriding

所以我有一个类“MyClass”和两个接口(interface)“A”和“B”

public class MyClass implements A, B {

    @Override
    public void mymethod(){
        System.out.println("hello world");
    }

}

...

public interface A {
    void mymethod();
}

...

public interface B {
    void mymethod();
}

这里什么接口(interface)的什么方法被覆盖了?

我在想两者都是?

谢谢 (学生)

最佳答案

在这种情况下,就好像只有一种方法。在这种情况下,它将覆盖“两种”方法,因为它们具有完全相同的签名。如果这些方法有不同的签名(返回类型或其他),那么就会有问题。查看此答案 here

例如:

public class MyClass implements A, B {

    @Override
    public void mymethod(){
        System.out.println("hello world");
    }

}
...

public interface A {
    void mymethod();
}
...

public interface B {
    String mymethod();
}

这会导致问题...

关于java - 具有相同方法名称的两个接口(interface),当我覆盖时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27150658/

相关文章:

java - 使用java的多级ssh连接

java - Neo4j Java 嵌入式最短路径

java - 使覆盖的 paintComponent 可编辑?

java - 关于位置管理器的问题

java - 在搜索引擎中显示结果(无 MySQL)

c# - 如何对派生自基类的类隐藏作为基类中接口(interface)实现的一部分的方法?

php - php中的显式接口(interface)实现

c++ - 模板化虚函数,管理来自单个类的不同类属性

java - 我如何覆盖 HashMap 的 putAll 来调用每个 <K,V> 对?

java - 具有接收者参数覆盖的方法是否等效于没有接收者参数的相同方法声明?