用Short和int重载

时间:2011-06-07 16:01:52

标签: java

为什么这段代码会打印int?

public static void main(String[] args) {
    short s = 5;
    A(s);
}
public static void A(int a){
    System.out.println("int");
}

public static void A(Short a){
    System.out.println("short");
}

2 个答案:

答案 0 :(得分:15)

因为向int的向上转换是在Java 1.0版本中,并且在5.0版本中添加了自动装箱。更改行为会破坏为旧版Java编写的代码。

然而,像这样的混合类型表明你的设计有问题,它只是你在益智游戏中找到的东西。 ;)

答案 1 :(得分:12)

因为加宽节拍拳击

<强>原因:

因为在很久以前推出拳击的时间很长,所以不要破坏任何代码就可以了。