为什么下面的代码会打印
float called long called 20.0 21
代替
float called 20.0 long called 21
代码如下:
public class Test5 {
static float fun(int a) {
System.out.print("float called ");
return a;
}
static long fun(long a) {
System.out.print("long called ");
return a;
}
public static void main(String[] args) {
System.out.println(fun(20) + " " + fun(21L));
}
}
答案 0 :(得分:5)
System.out.println(fun(20)+" "+fun(21l));
传递了String
,这是将fun(20)
和fun(21l)
返回的值连接在一起的结果。因此,这两个方法在此println
语句之前执行,每个方法都打印自己的String
。
fun(20)
打印“浮点数”并返回20.0 fun(21l)
打印“ long被叫”并返回21 System.out.println(fun(20)+" "+fun(21l));
打印“ 20.0 21” 答案 1 :(得分:-1)
这是方法重载的示例。该示例显示了一个类可以有多个具有相同名称的方法。
此处列出了更多示例: https://beginnersbook.com/2013/05/method-overloading/