違いは何ですか :
Object o = null
; とObject o;
(ただの宣言)
誰でも私に答えてもらえますか?
変数を宣言するスコープによって異なります。たとえば、 ローカル変数には、インスタンス変数がデフォルト値を取得するため、null を割り当てるインスタンス変数の場合と同様に、 nullを手動でdefault values
割り当てる必要がある場合があります。
public class Test {
Object propertyObj1;
Object propertyObj2 = null; // assigning null is redundant here as instance vars get default values
public void method() {
Object localVariableObj1;
localVariableObj1.getClass(); // illegal, a compiler error comes up as local vars don't get default values
Object localVariableObj2 = null;
localVariableObj2.getClass(); // no compiler error as localVariableObj2 has been set to null
propertyObj1.getClass(); // no compiler error
propertyObj2.getClass(); // no compiler error
}
}
前述のように、オブジェクト参照はデフォルト値として使用されるため、instance variable
割り当てる必要はありません。ただし、ローカル変数を初期化する必要があります。そうしないと、コンパイル エラーが発生します。null
null
The local variable s may not have been initialized
詳細については、このリンクを参照してください。