-2
class Practice {
public static void aMethod (int val) { System.out.println("int"); }
public static void aMethod (short val) { System.out.println("short"); }
public static void aMethod (Object val) { System.out.println("object"); }
public static void aMethod (String val) { System.out.println("String"); }
byte b = 9;
Practice.aMethod(b); // first call My guess:don't know? it is short but why
Practice.aMethod(9); // second call My guess:int correct
Integer i = 9;
Practice.aMethod(i); // third call My guess: Object correct
Practice.aMethod("9"); // fourth call My guess: String correct
}
爲什麼用byte(b)作爲參數調用的方法調用short?爲什麼帶有byte參數的方法調用short的方法,爲什麼不是int?
最窄的適用類型。 'short'比'int'更接近'byte'。 –
爲什麼編譯器在完全適合短時使用int參數?只是節省了內存 – Tyler
是的,我也這麼認爲,原因是來自哪種類型更接近,但我不知道謝謝@LouisWasserman。該死的,已經-2點哦。 – valer