java - 当多个重载合法时调用哪个方法?

标签 java interface parameters multiple-inheritance

假设您有一个接口(interface) A 和一个接口(interface) B。假设 Sprite 类实现了这两个接口(interface)。

假设有另一个类有一个方法foo(A object),还有一个方法foo(B object)

当我将 Sprite 的实例传递给方法 foo() 时,两者都会被调用吗?如果不是,哪个优先?

最佳答案

使用方法重载(正如这里使用的那样),要调用的方法在编译时解析,基于保存Sprite 的变量的(声明的)类型>.

由于方法调用不明确,除非您手动向下转换引用以解决不明确问题,否则将无法编译。

关于java - 当多个重载合法时调用哪个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5078112/

相关文章:

javascript - 将对象键作为 javascript 函数参数传递

java - 这个数组的括号里应该写什么?

Java:使用不带可序列化的 ObjectOutputStream

java - 基于角色的授权 REST API

java - 无法实例化 PersistentEntityResourceAssembler

c# - SyncRoot 如何/为什么隐藏在 Queue<T> 上?

java - Dart future 值请求不兼容

delphi - 接口(interface)、匿名方法和内存泄漏

java - 一个接口(interface),其中所有方法具有多个实现类,每个实现类实现该接口(interface)中方法的子集

c++ - 与参数包声明混淆,C++