1 /*
2 * Няколко принципа
3 * 1. Статични членови променливи
4 * 1. Статичните членове са класови променливи и всички обекти споделят едно и също пространство в паметта
5 * 2. Декларацията и дефиницията на статични член-променливи се изпълнява само веднъж, когато класът се зарежда за първи път
6 * 3. При първо зареждане на клас, първо придавайте начални стойности на всички статични членове според типа, а след това прикачете правилни стойности към тези с rстойности
7 * 2. Статичен начален блок
8 * 1. Статичните блокове за инициализация се изпълняват само веднъж, когато класът се зарежда за първи път
9 * ······ Множество статични членови променливи и бърз референтен ред на появяване при статично иницииране се изпълняват последователно······
10 * 3. Динамични членови променливи
11 * 1. Дефиницията на динамичните членни променливи се изпълнява пред конструктора всеки път, когато обект се инстанцира
12 * 4. Блок за динамична инициализация
13*1. Блокът за динамична инициализация се изпълнява преди конструктора всеки път, когато обект се инстанцира
14 * ······ Множество динамични членови променливи и динамични инициализационни блокове се изпълняват в реда, в който се появяват······
15 * Резюме: Обикновено, когато клас се зареди за първи път, той се изпълнява в следния ред, без наследяване
16 * 1. Изпълнение на статично дефиниране на променлива на член и статичен блок за инициализация в реда на възникване
17 * 2. Изпълнение на дефиниране на динамична променлива на член и динамичен блок за инициализация в реда на възникване
18 * 3. Изпълнение на конструктора
19 * При повторно инстанциране на обект могат да се изпълнят само стъпки 2 и 3
20 *
21 * ············ Членовите променливи, дефиниции и инициализационни блокове се изпълняват преди конструктора·········
22 * 5. Когато става въпрос за наследство, то се извършва в следния ред
23 * 1. Изпълнете дефинирането на променлива за статичен член и блока за статична инициализация на родителския клас, и изпълнете дефиницията на променлива за статичен член и блока за статична инициализация на подкласа
24 * 2. Изпълнете нестатичната дефиниция на променлива на член и динамичната инициализация на родителския клас и изпълнете метода за конструиране на родителски клас
25 * 3. Изпълнете дефиницията на нестатични членови променливи на подкласове и динамично инициализирайте блокове и изпълнете метода за конструиране на подкласове
26 * Също така: Ако методът, използван в метода за конструиране на родителски клас, е пренаписан от подкласа, тогава методът за пренаписване на подклас се използва при извикване на конструктора на родителски клас при конструирането на обекта на подкласа
|