小编典典

用short和int重载

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");
}

阅读 216

收藏
2020-10-15

共1个答案

小编典典

因为int在Java 1.0版中向上广播到,而在5.0版中添加了自动装箱。更改行为将破坏为较旧版本的Java编写的代码。

但是,这样的混合类型表明您的设计存在问题,这只是您将在拼图游戏中找到的。;)

2020-10-15