scjpの準備本でこの1つの質問を見ました。
public class Yikes {
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) {
short y = 6;
long z = 7;
go(y);
go(z);
}
}
出力はint Long
です。
short
オーバーロードされたメソッド go にデータ型変数を渡しています。現在、go にはshort
データ型バージョンもあります。では、どうしてint
呼び出されているのですか?この動作の理由は何ですか?
私はJavaでかなり新しいです。だからここで私を助けてください。