我注意到如果我有两个同名的方法,当我调用方法时,第一个接受 SomeObject
而第二个接受扩展 SomeObject
的对象SomeOtherObject
,它会自动使用只接受SomeObject
的对象。如果我将 SomeOtherObject
转换为 SomeObject
,则使用接受 SomeObject
的方法,即使该对象是 SomeOtherObject
的实例>。这意味着编译时选择了该方法。为什么?
最佳答案
这就是 Java 中方法重载决议的工作原理:方法是在编译时选择的。
有关所有丑陋的细节,请参阅 the Java Language Specification §15.12.
关于java - java中两个同名的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18265638/