用Short和int重载
为什么这段代码会打印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"); }
因为upcasting to int
是在Java 1.0版本中,并且在5.0版本中添加了自动装箱。 更改行为会破坏为旧版Java编写的代码。
然而,像这样的混合类型表明你的设计有问题,它只是你会在益智游戏中找到的东西。 ;)
因为加宽节拍拳击
原因:
因为在很长一段时间之前很长时间才引入拳击,所以不要打破任何代码它会这样做。