Java子类的父类和要实现的接口有相同的方法/函数会冲突吗

2015-07-25 15:53
分类:编程  Java  

答案是,不会。子类优先实现父类的方法,虽然父类的方法和接口的方法长得一模一样。

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都会报错
    }
}

 

好文要顶 收藏该文 我要举报
如果您觉得本文对你有用,不妨帮忙点个赞,或者在评论里给我一句赞美,小小成就都是今后继续为大家编写优质文章的动力!
上一篇:安卓开发笔记——高仿新浪微博文字处理(实现关键字高亮,自定义表情替换并加入点击事件实现)
下一篇:mybatis Result Maps对结果分组2--多层一对多

一起悦读网    Copyright © 2016    浙ICP备11048508号