gpt4 book ai didi

Java重载困惑

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:55:08 26 4
gpt4 key购买 nike

java 无法调用任何重载方法,如下所示:-

class LspTest{

public void add(int a, float b){
System.out.println("First add");
}

public void add(float a, int b){
System.out.println("second add");
}

public static void main(String [] a){
LspTest test = new LspTest();
test.add(1,1);
}
}

请解释一下我对此感到困惑。

最佳答案

在您的方法中,您有参数 (int, float)(float, int) 但是在调用该方法时,您同时传递了 int (1,1) 值。 Java 编译器可以在需要时自动将 float 类型转换为 int。但在这种情况下,编译器无法决定自动类型转换为 float 哪个 int。因此它显示出歧义。

您需要调用它 test.add(1f, 1);test.add(1,1f); 即指定哪个值是 int 哪个值是 float 的。

附言要将值指定为 float ,您可以用它编写 f

关于Java重载困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27832532/

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