会选择double这个方法,以下是测试代码:
1 package overloadtest; 2 3 public class OverloadTest { 4 5 public static void main(String args[]) { 6 OverloadTest ot = new OverloadTest(); 7 double x = 2; 8 System.out.println(ot.test(x)); 9 } 10 11 int test(int t) { 12 return 0; 13 } 14 15 char test(char c) { 16 return 'c'; 17 } 18 19 double test(double d) { 20 return 1.0; 21 } 22 }
输出:1.0
double那个
这是会根据参数类型来判断的,你传入的x是double类型的,所以调用的肯定也是double的那个方法。
是什么就调什么,java是严格类型的,不像javascript