如果一个类使用类似的方法实现了多个接口,它是否会重载?
我很想知道如果一个类实现了两个或多个具有相似方法的接口,是否可以将其视为方法重载。如果不是,那么正确的术语是什么?
举个例子
public interface I1 {
int method1(String input);
}
public interface I2 {
void method1(int input);
}
public class C1 implements I1, I2 {
public int method1(String input){ return 0;}
public void method1(int input){}
}
回答
重载归结为:
在 Java 中,如果两个或多个方法的参数不同(参数数量不同、参数类型不同或两者兼有),则它们可能具有相同的名称。这些方法称为重载方法,此功能称为方法重载。
从这里开始。
所以,很明显,你的类C1确实重载了 method1()。它这样做是为了覆盖这两种方法的事实并没有改变这一点。如果覆盖也发生了,那么重载的定义也无关紧要。