单选题:分析如下代码:
分析如下代码: @[D](2)
```
public class Test {
public static void main(String[] args) {
System.out.println(max(1, 2));
}
public static double max(int num1, double num2) {
System.out.println("max(int, double) is invoked");
if (num1 > num2)
return num1;
else
return num2;
}
public static double max(double num1, int num2) {
System.out.println("max(double, int) is invoked");
if (num1 > num2)
return num1;
else
return num2;
}
}
```
A. 程序运行并输出
```
max(int, double) is invoked
2
```
B. 程序运行并输出
```
max(double, int) is invoked
2
```
C. 程序运行并输出
```
max(int, double) is invoked
2.0
```
D. 程序编译错误,因为编译器无法判断该调用哪个max方法。
A.程序运行并输出
```
max(int, double) is invoked
2
```
B.程序运行并输出
```
max(double, int) is invoked
2
```
C.程序运行并输出
```
max(int, double) is invoked
2.0
```
D.程序编译错误,因为编译器无法判断该调用哪个max方法。
答案:D
```
public class Test {
public static void main(String[] args) {
System.out.println(max(1, 2));
}
public static double max(int num1, double num2) {
System.out.println("max(int, double) is invoked");
if (num1 > num2)
return num1;
else
return num2;
}
public static double max(double num1, int num2) {
System.out.println("max(double, int) is invoked");
if (num1 > num2)
return num1;
else
return num2;
}
}
```
A. 程序运行并输出
```
max(int, double) is invoked
2
```
B. 程序运行并输出
```
max(double, int) is invoked
2
```
C. 程序运行并输出
```
max(int, double) is invoked
2.0
```
D. 程序编译错误,因为编译器无法判断该调用哪个max方法。
A.程序运行并输出
```
max(int, double) is invoked
2
```
B.程序运行并输出
```
max(double, int) is invoked
2
```
C.程序运行并输出
```
max(int, double) is invoked
2.0
```
D.程序编译错误,因为编译器无法判断该调用哪个max方法。
答案:D