gpt4 book ai didi

java - 将调用哪个方法?

转载 作者:行者123 更新时间:2023-12-01 06:32:28 26 4
gpt4 key购买 nike

例如我们有一个类 Test它使用参数重载 2 个方法(只需将其称为 ambiguouslyMethod):1 个方法具有短整型,另一个方法具有 int,但类型不同。在这种情况下,请考虑类型为 shortint。然后我从 main 中调用这个方法,如下所示:

double d = new Test.ambiguousMethod(3);

那么会调用哪个方法呢?使用 INT 还是 SHORT 返回类型?

谢谢

这是我的代码:

Method a = new Method();
double d= a.print(3);


class Method {

public int print(int a)
{
return a;

}

public short print(short b){
return b;
}

}

最佳答案

两者都不会被调用,因为该程序无法编译。无论返回类型如何,两个不带参数的同名方法都具有相同的方法签名,这在 Java 中是一个编译器错误。

注意:当问题指出两个同名方法没有参数且返回类型不同时,给出了上面的答案。它已经改变了一些不同的东西。

对于“更新”的问题:

您传递一个 int 文字 3,因此将调用 int 方法。要调用 short 方法,请将 3 转换为 short:

ambiguousMethod((short) 3);

关于java - 将调用哪个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19689180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com