1 /*
2 * Kilka zasad
3 * 1. Zmienne członkowe statyczne
4 * 1. Statyczne zmienne członkowskie to zmienne klasowe, a wszystkie obiekty dzielą tę samą przestrzeń pamięci
5 * 2. Deklaracja i definicja statycznych zmiennych członków jest wykonywana tylko raz, gdy klasa jest ładowana po raz pierwszy
6 * 3. Podczas ładowania klasy po raz pierwszy przypisz wartości początkowe wszystkim statycznym zmiennym członkowskim zgodnie z typem, a następnie przypisz właściwe wartości tym z r-wartościami
7 * 2. Statyczny blok początkowy
8 * 1. Statyczne bloki inicjalizacyjne są wykonywane tylko raz, gdy klasa jest ładowana po raz pierwszy
9 * ······ Kolejność wystąpień wielu statycznych członków oraz kolejność wystąpień szybkiego odwołania statycznej inicjacji są wykonywane sekwencyjnie······
10 * 3. Zmienne dynamiczne członkowskie
11 * 1. Definicja zmiennych dynamicznych członków jest wykonywana przed konstruktorem za każdym razem, gdy obiekt jest instancjonowany
12 * 4. Dynamiczny blok inicjalizacji
13*1. Dynamiczny blok inicjalizacyjny jest wykonywany przed konstruktorem za każdym razem, gdy obiekt jest instancjonowany
14 * ······ Wiele dynamicznych zmiennych członkowskich oraz dynamicznych bloków inicjalizacyjnych jest wykonywanych w kolejności, w jakiej się pojawiają······
15 * Podsumowanie: Ogólnie, gdy klasa jest ładowana po raz pierwszy, wykonuje się ją w następującej kolejności, bez udziału dziedziczenia
16 * 1. Wykonaj statyczną definicję zmiennych członków oraz statyczny blok inicjalizacyjny w kolejności wystąpienia
17 * 2. Wykonaj definicję zmiennych dynamicznych członków oraz blok inicjalizacji dynamicznej w kolejności wystąpienia
18 * 3. Wykonaj konstruktor
19 * Podczas ponownego instancjonowania obiektu można wykonać tylko kroki 2 i 3
20 *
21 * ············ Zmienne członkowskie, definicje i bloki inicjalizacyjne są wykonywane przed konstruktorem·········
22 * 5. W przypadku dziedziczenia odbywa się ono w następującej kolejności
23 * 1. Wykonaj statyczną definicję zmiennej członkowskiej i statyczny blok inicjalizacji klasy nadrzędnej oraz wykonaj statyczną definicję zmiennej członkowskiej i statyczny blok inicjalizacji podklasy
24 * 2. Wykonaj niestatyczną definicję zmiennych członkowskich i blok inicjalizacji dynamicznej klasy nadrzędnej oraz wykonaj metodę konstrukcji klasy nadrzędnej
25 * 3. Wykonaj definicję niestatycznych zmiennych członków podklas i dynamicznie inicjalizuj bloki, a następnie wykonaj metodę konstrukcji podklas
26 * Również: Jeśli metoda użyta w metodzie konstrukcji klas nadrzędnych została przepisana przez podklasę, to metoda przepisywania podklasy jest używana przy wywoływaniu konstruktora klasy nadrzędnej podczas konstruowania obiektu podklasy
|