1 /*
2 * Několik principů
3 * 1. Statické proměnné členů
4 * 1. Statické proměnné členů jsou třídní proměnné a všechny objekty sdílejí stejný paměťový prostor
5 * 2. Deklarace a definice statických proměnných členů se provádí pouze jednou, když je třída načtena poprvé
6 * 3. Při prvním načítání třídy nejprve přiřaďte počáteční hodnoty všem statickým proměnným členů podle typu a poté přiřaďte správné hodnoty těm s r-hodnotami
7 * 2. Statický počáteční blok
8 * 1. Statické inicializační bloky se spustí pouze jednou, když je třída načtena poprvé
9 * ······ Postupně se provádí pořadí výskytu více statických statických členů a rychlé referenční pořadí výskytu······
10 * 3. Dynamické členové proměnné
11 * 1. Definice dynamických členových proměnných se provádí před konstruktorem pokaždé, když je objekt instancován
12 * 4. Dynamický inicializační blok
13*1. Dynamický inicializační blok se vykoná před konstruktorem pokaždé, když je objekt instancován
14 * ······ Více dynamických členských proměnných a dynamických inicializačních bloků se provádí v pořadí, v jakém se objevují······
15 * Shrnutí: Obecně platí, že když je třída načtena poprvé, vykonává se v následujícím pořadí, bez dědictví
16 * 1. Vykonat definici statické proměnné člena a statický inicializační blok v pořadí výskytu
17 * 2. Vykonat definici dynamické proměnné člena a blok dynamické inicializace v pořadí výskytu
18 * 3. Spustit konstruktor
19 * Při opětovném instancování objektu lze provést pouze kroky 2 a 3
20 *
21 * ············ Proměnné členů, definice a inicializační bloky se vykonávají před konstruktorem·········
22 * 5. Pokud je dědictví v úvahu, bude provedeno v následujícím pořadí
23 * 1. Provést definici statické proměnné a statický inicializační blok nadřazovské třídy a spustit definici statické členské proměnné a statický inicializační blok podtřídy
24 * 2. Vykonat nestatickou definici proměnných členů a blok dynamické inicializace rodičovské třídy a provést metodu konstrukce rodičovské třídy
25 * 3. Provést definici nestatických proměnných členů podtříd a dynamicky inicializovat bloky a provést metodu konstrukce podtříd
26 * Také: Pokud byla metoda použitá v metodě konstrukce rodičovské třídy přepsána podtřídou, pak se metoda přepisování podtřídy používá při volání konstruktoru rodičovské třídy při konstrukci objektu podtřídy
|