La inicialización del programa Java generalmente sigue tres principios:
- Estático tiene prioridad sobre no estático.
- La clase principal tiene prioridad sobre la clase secundaria.
- Inicializar en el orden definido.
La secuencia de inicialización específica es la siguiente:
- Variable estática principal
- Bloque de código estático principal
- Subclase de variables estáticas
- Bloque de código estático de subclase
- Variable no estática principal
- Bloque de código no estático principal
- Super clase constructor
- Subclase de variables no estáticas
- Subclase de bloque de código no estático
- Método de construcción de subclase