作者uopsdod (pcman)
看板java
標題[問題] Number Wrapper & method overloading
時間Wed Feb 15 19:12:21 2017
public class Prac extends Test2{
public static void go(Long n){
System.out.println("Long ");
}
public static void go(Short n){
System.out.println("Short ");
}
public static void go(int n){
System.out.println("int ");
}
public static void main(String[] args) throws IOException{
short y = 6;
long z = 7;
go(y);
go(z);
}
}
---------------------------------------------------------------------
What is the result?
Answer:
int Long
為何是這樣,我本來以為會autoboxing變成 Short?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.13.4.123
※ 文章網址: https://www.ptt.cc/bbs/java/M.1487157143.A.9F8.html
※ 編輯: uopsdod (101.13.4.123), 02/15/2017 19:12:58
推 kyleJ: main裡面的short是基本型態 比起自動裝箱 Java會先尋找自 02/15 22:36
→ kyleJ: 動寬化後符合的型態吧 02/15 22:36
→ uopsdod: 原來是這樣,了解了感謝! 02/19 18:41