java中a类的父类有一个方法叫f,接口中也有一个方法叫f为什么不冲突呢?
发布网友
发布时间:2022-04-25 22:19
我来回答
共1个回答
热心网友
时间:2023-10-16 00:18
就拿你这个列子:
a类,父类有个f方法,,又实现接口,接口里面有一个抽象f方法,
1.子类里面必须重写f这个方法,且权限一定是public:这很关键!
(你可以把父类的f方法设成protected测试)
2.父类的f方法也会被这个子类方法覆盖掉!(默认情况下调用的是子类f方法,测试你就会发现)
3.但是真的覆盖了吗?No
父类方法依然存在,你如果想调用父类方法,可以使用super就可以把父类的方法f给调用!
4.看完了,你觉得冲突吗?
不冲突吧,父类方法可以调用,子类方法也可以调用,接口方法抽象的根本不存在,就你这个情况,
里面接口的只是给子类了一个多态!
5.我有个更好的办法帮你理解这个关系,你在接口,父类,子类,里面都定义一个同名的变量
值不要一样,然后分别在f方法里面进行调用,想调用哪个都可以,一点都不冲突!