Java是一门单继承语言,但是,在子类的继承关系中,会存在父类和接口有同名方法的情况,这种情况该怎么处理呢?
我们来一步步验证:
1.子类继承父类,实现接口,父类和接口有同名方法
public interface MyInterface {
void test();
}
public class Father {
public void test() {
System.out.println("父类方法");
}
}
public class Son extends Father implements MyInterface{}
子类直接继承父类和实现接口不实现接口方法不报错,说明这种情况下默认父类实现该方法
2.我们将父类中方法注释掉,看看结果
public interface MyInterface {
void test();
}
public class Father {
// public void test() {
// System.out.println("父类方法");
// }
}
很明显,子类在继承过程中出现了错误提示,需要实现接口中的方法
3.将父类中方法取消注释,子类实现该方法,代码如下:
public interface MyInterface {
void test();
}
public class Father {
public void test() {
System.out.println("父类方法");
}
}
可以看到,子类方法提示是重写的父类方法。
至此,验证完毕!