java - java中两个同名的方法

标签 java methods extends

我注意到如果我有两个同名的方法,当我调用方法时,第一个接受 SomeObject 而第二个接受扩展 SomeObject 的对象SomeOtherObject,它会自动使用只接受SomeObject 的对象。如果我将 SomeOtherObject 转换为 SomeObject,则使用接受 SomeObject 的方法,即使该对象是 SomeOtherObject 的实例>。这意味着编译时选择了该方法。为什么?

最佳答案

这就是 Java 中方法重载决议的工作原理:方法是在编译时选择的。

有关所有丑陋的细节,请参阅 the Java Language Specification §15.12.

关于java - java中两个同名的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18265638/

相关文章:

java - 为什么 Java 编译器不能从另一个文件中找到类?

java - 如何将 HtmlUnit cookie 保存到文件中?

java - JEdi​​torPane 组件文本对齐和背景

java - 更改 JXDATEPICKER 的显示

c# - 字符串方法不从数据库中的表返回值

java - Android:是否可以直接从 setOnClickListener() 调用方法?

java - TestChatBot 类的方法未定义?

java - 父/子类关系 - indexOf

java - Eclipse PDE,markerAnnotationSpecification - 不带图标定义

java - 类扩展了 BufferedImage,但图片不能改变。有什么办法解决这个问题吗?