gpt4 book ai didi

java - 读取重载方法

转载 作者:行者123 更新时间:2023-12-02 04:55:03 28 4
gpt4 key购买 nike

我在网上看到一个问题,询问您是否收到打印报表,

System.out.println(M.m(4.0, 5)); System.out.println(M.m(4, 5.0));

我知道 double 可以用作 int,因此将打印第一个方法。即40.0

但是对于第二个打印语句,岂不是会用同样的逻辑,再次打印第一个方法吗? Java 说第二个打印语句是 60.0

public static double m(int a, int b) {
return a * b;
}
public static double m(double a, int b) {
return a * b * 2;
}
public static double m(double a, double b) {
return a * b * 3;
}

最佳答案

实际上,对于第一次打印,将使用第二次重载,因为参数类型完全匹配:double 和 int。

对于第二次打印,将使用第三次重载,因为 double 不会自动提升为 int。唯一第二个参数可从 double 提升的方法是第三个重载 - 这将强制第一个参数提升为 double。

关于java - 读取重载方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28861878/

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