Istnieją trzy elementy terminologii związane z tym tematem: deklaracja, inicjalizacja i tworzenie instancji.
Praca od tyłu do przodu.
Tworzenie instancji
To kiedy pamięć jest przydzielona dla obiektu. To właśnie robi słowo kluczowe new
. Odwołanie do obiektu, który został utworzony, jest zwracane ze słowa kluczowego new
.
Inicjowanie
To wtedy wartości są wprowadzane do pamięci, która została przydzielona. To właśnie robi Constructor klasy podczas używania słowa kluczowego new
.
Zmienna musi również zostać zainicjalizowana przez odniesienie do jakiegoś obiektu w pamięci przekazanej do niego.
Deklaracja
to jest, kiedy stwierdza się, że program nie będzie przedmiotem pewnego typu istniejących i jaka jest nazwa tego obiektu zostanie.
Przykład inicjalizacji a instancje tej samej linii
SomeClass s; // Declaration
s = new SomeClass(); // Instantiates and initializes the memory and initializes the variable 's'
Przykład Inicjalizacja zmiennych w innej linii w pamięci
void someFunction(SomeClass other) {
SomeClass s; // Declaration
s = other; // Initializes the variable 's' but memory for variable other was set somewhere else
}
że również bardzo zalecane odczytu this article na temat tego, jak Java radzi sobie z przekazywaniem zmiennych.
Nie ma czegoś takiego jak inicjowanie zajęć. Masz na myśli inicjowanie zmiennej? – Femaref
masz na myśli ** zainicjować obiekt ** ?? – PermGenError
@Femaref, być może określenie to nie jest techniczne, ale myślę, że uczciwie jest opisać statyczne inicjatory i konstruktory jako inicjujące odpowiednio klasę i instancję. –