java - 具有相同方法的多个接口(interface)最终由类实现

标签 java interface

在面试中,有两个接口(interface) B 和 C,每个接口(interface)都有相同的方法 public m1() A 类实现 B 和 C ,如果 A 类必须实现方法 m1,则实现的方法将属于哪个接口(interface)。

当时我也很困惑,不知道会调用哪个方法,请指教

public interface A {

public void show();
}

public interface B {

public void show();
}

public class Test implements A, B {

public static void main(String[] args) {

A a;
B b;
Test t = new Test();
a = t;
a.show();
b = t;
b.show();

}

最佳答案

在 Java 中,两个接口(interface)重叠,并且只有一个方法。不可能提供两种单独的实现(或选择您想要的一种)。如果两个接口(interface)方法定义的返回类型不兼容,则该类不能同时扩展两个接口(interface)。

因此,a.show()b.show() 都会调用完全相同的方法。

在 C# 中,您可以消除歧义。

关于java - 具有相同方法的多个接口(interface)最终由类实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30205745/

相关文章:

Java : Is ServerSocket. 接受线程安全吗?

java - 从数组列表中删除字符串

php - PHP中一个类可以实现多少个接口(interface)?

java - 抽象父类(super class)的子类的方法可以返回父类(super class)返回类型的父类(super class)吗?

java - Java中二维数组类型的ArrayList

java - 如何在 64 位机器上运行为 32 位制作的 API?

java - 这个 JVM 崩溃日志是什么意思?

android - 从 Android 容器 Activity 调用子 fragment 实现的接口(interface)方法

java - 如何为此类枚举构建接口(interface)

.net - 为什么.Net框架中的每个类都没有对应的接口(interface)?