1. ¿Cuándo se inicializa la clase?
- La clase donde se encuentra el método main () debe inicializarse primero
- La primera vez que un objeto de esta clase sea nuevo, esta clase se inicializará
- Si se inicializa la subclase, la clase principal debe inicializarse primero
2. ¿El proceso de inicialización de la clase?
La inicialización es en realidad para ejecutar el método <clinit>. Una clase tiene solo un método <clinit>.
El método <clinit> es la declaración de inicialización de la variable miembro estática y la declaración en el bloque de código estático.
3. ¿El proceso de instanciación de objetos?
La instanciación de un objeto en realidad ejecuta el método <init>.
Una clase puede tener varios métodos <init>. Un método <init> corresponde a un constructor.
El orden de las declaraciones en el método <init> es el siguiente.
- El init de la clase padre corresponde a super (), incluso si no está escrito explícitamente.
- Declaraciones de inicialización de variables miembro no estáticas y declaraciones en bloques de código no estáticos
- Declaración en el constructor