【发布时间】:2017-04-29 08:20:41
【问题描述】:
当一个类实现两个接口时,接口具有相同的方法名称但返回类型不同,为什么它不起作用? java会给出编译错误,为什么不能重载interface_1类中的方法?
import static java.lang.System.out;
interface A1{
int add();
}
interface A2{
String add();
}
public class interface_1 implements A1,A2{
public static void main(String args[]){
out.println("a");
}
@Override
public String add() {
// TODO Auto-generated method stub
return null;
}
@Override
public int add() {
// TODO Auto-generated method stub
return 2;
}
}
【问题讨论】:
-
"为什么不能重载 interface_1 类中的方法?"如果您不实现接口,您希望能够这样做吗? JLS 只是禁止这样做。 (C# 正常,但允许显式接口实现来解决这个问题。)
标签: java interface overloading