【发布时间】:2012-05-10 03:52:47
【问题描述】:
取以下代码:
public interface InterfaceA { }
public interface InterfaceB { }
public class Abba implements InterfaceA, InterfaceB { }
public class MainThingy {
public static void main(String[] args) {
Abba abObj = new Abba();
int result = MainThingy.doStuff(abObj);
}
private static int doStuff(InterfaceA param) {
System.out.println("method A");
}
private static int doStuff(InterfaceB param) {
System.out.println("method B");
}
}
由于两个 doStuff() 方法都采用 Abba 参数,因此不清楚将调用哪一个。 Java 编译器和/或 JVM 如何处理这个问题?
【问题讨论】:
-
既然你已经有了代码,你试了会发生什么?获取该信息并将其合并到帖子(标题和正文)中,并使用它来完善对该主题的搜索...
-
对不起,我想我用错误的术语搜索。另外,你是绝对正确的,我应该尝试编译它。我不知道为什么我在写这篇文章时没有想到。
标签: java methods overloading