Prefacio
El código estático tiene prioridad sobre el código no estático porque los miembros modificados por Static son todos los miembros de la clase y se ejecutarán a medida que el JVM cargue la clase. Los miembros no modificados por Static también se llaman miembros de la instancia. Es necesario crear objetos antes de que se puedan cargar en la memoria del montón. Por lo tanto, la estática se preferirá para no estatices.
Al ejecutar el constructor (método de construcción), hay tres pasos implícitos antes de ejecutar el cuerpo del método:
1. La súper declaración puede tener las siguientes tres situaciones:
1) La primera línea del constructor es esta declaración, y los tres pasos implícitos no se ejecutarán.
2) La primera línea del cuerpo del constructor es una súper declaración, y se llama al constructor de la clase principal correspondiente.
3) La primera línea del cuerpo del constructor no es esta declaración ni una súper declaración, y super () se llama implícitamente, es decir, el constructor predeterminado de su clase principal, por lo que una clase principal generalmente necesita proporcionar un constructor predeterminado;
2. Inicializar variables no estáticas;
3. Construya el bloque de código.
A partir de esto, podemos ver que el bloque de código de construcción tiene prioridad sobre el cuerpo del método del método de construcción, pero esta palabra clave y la palabra clave súper no pueden aparecer al mismo tiempo, y solo pueden estar en la primera línea del código. Si aparece esta palabra clave, los tres pasos implícitos no se ejecutarán.
Primero mire las siguientes clases y luego juzgue su producción:
clase pública A {static {System.out.print (1); } public a () {System.out.print (2); }} La clase pública B extiende una {static {System.out.print ("A"); } public B () {System.out.print ("B"); }} public class C {public static void main (string [] args) {a a = new b (); a = nuevo b (); }} El orden de ejecución de la clase principal y la clase infantil
Características de ejecución de variables estáticas
Notas sobre la anulación del método
1. Cuando las clases de padres e hijos tienen bloques de código estáticos y constructores, la orden de ejecución es la siguiente:
Bloque de código estático de clase principal> Bloque de código estático de subclase
Constructor de clase de padres> Constructor de subclase (primero hay un padre, luego hay un hijo)
Si se trata de una relación de herencia de varios niveles, la clase principal al más alto nivel se ejecutará primero y luego disminuyó a su vez.
Resumen: se prefiere la ejecución estática, se prefiere la ejecución de la clase principal
Nota: Los bloques de código estático se ejecutan cuando el JVM carga la clase, y los bloques de código estático se ejecutan solo una vez.
2. Al llamar a un método en una clase, antes de ejecutar el cuerpo del método, las variables del miembro en la clase deben asignarse primero. Si no se asigna ningún valor específico en el código, también hay un valor predeterminado. La orden de asignación de las variables miembros se lleva a cabo en el orden anterior y posterior.
Si hay tareas directas y asignaciones de constructor, ejecutarlas en secuencia
3. Anular (anular) sobrecarga (sobrecarga)
La sobrecarga es el nombre del método, el tipo de retorno es el mismo, la única diferencia es que los parámetros del método son diferentes (diferentes tipos de parámetros o diferentes tipos de parámetros)
Volver a escribir:
Polimorfismo:
La referencia de la clase principal apunta al objeto de la subclase. El método ejecutado cuando se invoca también es el método de la subclase. El método de la clase principal no se ejecutará.
El llamado polimorfismo significa que la referencia de la clase principal o el tipo de interfaz puede apuntar a una subclase o una instancia (objeto) de la clase que implementa la interfaz.
Después de leer las instrucciones anteriores, también debe conocer los resultados de salida del programa anterior.
El resultado de la salida es: 1A2B2B
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.