2013-05-07 8 views

Odpowiedz

31

To zależy od zakresu, w którym zadeklarowano zmienną. Na przykład, zmienne lokalne nie mają default values w takim przypadku trzeba będzie przypisać NULL ręcznie gdzie podobnie jak w przypadku instancji zmiennych przypisywania null jest zbędny, ponieważ zmienne instancji uzyskać wartości domyślne.

public class Test { 
    Object propertyObj1; 
    Object propertyObj2 = null; // assigning null is redundant here as instance vars get default values 

    public void method() { 
     Object localVariableObj1; 
     Object localVariableObj1.getClass(); // illegal, a compiler error comes up as local vars don't get default values 

     Object localVariableObj2 = null; 
     Object localVariableObj2.getClass(); // no compiler error as localVariableObj2 has been set to null 

     propertyObj1.getClass(); // no compiler error 
     propertyObj2.getClass(); // no compiler error 
    } 
} 
1

Jak wspomniano, odwołanie do obiektu jako instance variable nie musi być przypisane null jak wziąć null jako wartości domyślnej. Ale lokalne zmienne muszą zostać zainicjalizowane, inaczej otrzymasz komunikat o kompilacji z informacją: The local variable s may not have been initialized.

Aby uzyskać więcej informacji, możesz skierować this link

Powiązane problemy