0
点赞
收藏
分享

微信扫一扫

一个类的两个接口有同名函数,JAVA如何调用

五殳师兄 2022-01-28 阅读 61


关系如下:

A(type)--->X(type)---Y(type)

B(type)------------------

  意思是,接口A、接口B都有type函数(而且签名一样),X实现type,Y继承自X,也实现了type函数。那么调用type的时候,调用哪个?

  编译后的类Y,实际上同时保存两个type的来源。所以确实存在调用的问题。吾研究后,总结两个原则:


  • 样子原则。比如吾把Y造型为A、X,调用的时候就会搜索来源于A的接口;B也是如此。
  • 就近原则。比如直接调用Y的type,那么肯定是最近的那个。最近的是B的type。


举报

相关推荐

0 条评论