Java 教程:定义方法 - 重载方法状态,
Java 编程语言支持重载方法,Java 可以区分具有不同方法签名的方法。这意味着如果类中的方法具有不同的参数列表,则它们可以具有相同的名称。
还,
您不能声明多个具有相同名称和相同数量和类型的参数的方法,因为编译器无法区分它们。
编译器在区分方法时不考虑返回类型,因此即使它们具有不同的返回类型,也不能声明具有相同签名的两个方法。
这两个实现的方法共享一个共同的方法签名(即data()
),因此,编译器无法区分两者,并使该单一方法满足两个接口契约。
编辑:
例如,
public class Foo implements IFoo, IBar{
public static void main(String[] args) {
Foo foo = new Foo();
((IFoo) foo).print();
((IBar) foo).print();
}
@Override
public void print() {
System.out.println("Hello, World!");
}
}
public interface IBar {
void print();
}
public interface IFoo {
void print();
}
这将输出,
Hello, World!
Hello, World!