【发布时间】:2019-05-23 00:46:10
【问题描述】:
参考Java overloading - long and float,其中提到了 JLS #15 中的规则
以下规则定义了 原始类型:
双 >1 浮点数
浮点数 >1 长
long >1 int
int >1 个字符
int >1 短
短 >1 字节
其中“S >1 T”表示“T 是 S 的直接子类型”,根据 JLS #4.10 就在这部分的正上方。
为什么下面的代码打印出来是浮动的?
int q = 2;
a(q);
void b(long a) {
System.out.println("long");
}
void a(float a) {
System.out.println("float");
}
【问题讨论】:
-
您是否希望这两种方法具有相同的名称?
标签: java type-conversion overloading