答案是,不会。子类优先实现父类的方法,虽然父类的方法和接口的方法长得一模一样。
class father{ public void f(){} } interface sameInterface{ public void f(); } class son extends father implements sameInterface{ public void f(){ //本函数实际实现的是父类的f(),而不是接口的f() } }
注意:这种重叠在父类和接口均声明抛出异常时可能冲突。譬如,父类声明了异常1,接口声明了异常2。子类实现成员函数时,不能实现异常1或异常2,只能选择不实现异常。
class exception1 extends Exception{} class exception2 extends Exception{} class father{ public void f()throws exception1{} } interface sameInterface{ public void f()throws exception2; } class son extends father implements sameInterface{ public void f(){ //只能选择不实现异常,实现exception1或exception2都会报错 } }
时间: 2024-09-30 10:59:34