例如
interface TestInterFaceA {
int methodA();
}interface TestInterFaceB extends TestInterFaceA {
void methodA();
}public class InterFaceTest implements TestInterFaceA, TestInterFaceB {
#public void methodA(){}
}
#号处会报错,说返回类型不合法。是否说明,不能implements 拥有2个同名且返回类型不同的interface。
如果可以这么做,需要怎么改才能通过编译?
interface TestInterFaceA {
int methodA();
}interface TestInterFaceB extends TestInterFaceA {
void methodA();
}public class InterFaceTest implements TestInterFaceA, TestInterFaceB {
#public void methodA(){}
}
#号处会报错,说返回类型不合法。是否说明,不能implements 拥有2个同名且返回类型不同的interface。
如果可以这么做,需要怎么改才能通过编译?
}
public interface InterfaceB extends InterfaceA{ void method(); //嗯,在这儿就应该报错了吧!违反了重写的原则
}
interface TestInterFaceB extends TestInterFaceA {
void methodA();
}
会报错呀
interface TestInterFaceA {
int methodA();
}interface TestInterFaceB {
void methodA();
}public class InterFaceTest implements TestInterFaceA, TestInterFaceB {
#public void methodA(){}
}这种情况,在#处会报错。 那么是不是一个类不能去同时实现拥有相同方法名(包括参数列表)但不同返回值的接口?
int methodA();
} interface TestInterFaceB {
void methodA();
} 除了返回值不一样,其他都一样 在类中实现接口的方法时,方法的名字 返回值类型 参数个数及类型必须与接口中的完全一致