可能性の重複:私は最近戻って数日をコーディングしながら、この好奇心に出くわして、次の問題が発生した理由を把握することができないよう
Which constructor is chosen when passing null?Javaのコンストラクタに送信されるとき、「null」値は何をしますか?
:
考えます以下のクラス
public class RandomObject{
public RandomObject(Object o){
System.out.println(1);
}
public RandomObject(String[] s){
System.out.println(2);
}
}
new RandomObject(null);
の呼び出しを行うと、コンストラクターの作成順序に関係なく、出力は常に2
になります。 null
はオブジェクトではなく文字列配列を参照するのはなぜですか?
@guido他の質問には2つの非 'オブジェクト'があります。ここでは 'Object'の場合は別のものです –