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

Posted 柳鲲鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个类的两个接口有同名函数,JAVA如何调用相关的知识,希望对你有一定的参考价值。

关系如下:

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。

以上是关于一个类的两个接口有同名函数,JAVA如何调用的主要内容,如果未能解决你的问题,请参考以下文章

java继承中同名函数的问题

java中,怎么在一个包中引用另一个包的同名类

C#中子类构造函数中如何调用父类构造函数

关于不同动态库中同名函数及变量解决方案

java里,为啥子类不可以有 和父类 同名不同返回类型 的方法?

关于java跨项目调用接口的问题