のオーバーロード、私はこのクラスを持っている:Java。例えば方法
public class Col {
static void test(int a)
{
System.out.println("int");
}
public static void main(String args[])
{
Col.test(12); //1
Col.test((byte)12); //2
Col.test((long)100); //3
}
}
と今の私は、どのようにそのアルゴリズムの仕事にこのコードのintresting。 私は、この手順を:
1行 - int param、すべての正確な呼び出しメソッドと思う。
2バイトパラメータを使用した2行呼び出しメソッド... oooops。何ですか? Javaはintにバイトを広げてみますか?それは本当です?
長いパラメータを持つ3行の呼び出しメソッド...再びooops。何ですか? intをjavaに変換することはできません。正確さが失われるためです。その試行?そして結果 - 例外。
public static void test(Object a)
{
System.out.println("Object");
}
とあればコール:
Col.test((long)100);
ので、すべて正しい、例外 、どのようなプリミティブ型との関係は長く、オブジェクト私はこれを追加したより
?
OK、おかげで、男性は、このリンクを参照することができ.Also(オブジェクト)のテストを呼んで! – user471011