重名方法ing
老师,1、多接口会造成重名问题,使得实现类不得不去重写方法,那么,这个重写的方法到底是哪个接口的呢?
2、感觉接口有点像抽象父类,抽象父类的方法必须要在子类被重写,相应的,接口定义的方法也必须在实现类里去重写。接口定义的default方法,实现类不是必须要重写,在接口引用.方法名调用时,调的是接口的default方法。我就觉得这一切和父类子类那种继承关系有点像。
3、老师,如果多接口的方法不是重名的默认方法,而是重名的抽象方法,那么实现类是不是也得重写?
4、父类与多接口方法重名,子类没有重写方法,老师,利用接口引用.方法名调用的方法是子类隐藏继承的方法吗?
3
收起
正在回答
3回答
1、是的,实现类需要重写接口的抽象方法,这个与是否避免重名无关,无论有没有重名,都需要重写这个接口中的抽象方法哦。其实,我们实现接口的时候,就尽量不要让有重名方法的接口同时实现。假如两个接口是同名的但返回值不同,那实现类中写谁都是错的了。
除非两个接口中重名的那个方法返回值一样就不会报错了
所以,同学说的对,是要重写,但要尽量避免这种情况。
第二个问题:父类里的方法与多接口的抽象方法或者默认方法是重名,子类没有去重写这个重名的方法,利用接口引用.方法名调用的方法是子类隐藏继承自父类的方法吗?
是的,同学理解的没错。它调用的就是子类隐藏继承自父类的方法。
祝学习愉快。
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星