¿Qué son los bloques estáticos en Java?

Que Son Los Bloques Estaticos En Java



Al programar en Java, puede haber un requisito para escribir un conjunto de códigos que el programador necesita ejecutar durante la carga de la clase en la memoria. Por ejemplo, avisar al usuario con algún mensaje antes de las funcionalidades aplicadas en la principal o priorizar una funcionalidad vital separándola. En tales casos, los bloques estáticos en Java ayudan a simplificar y administrar las funcionalidades al final del desarrollador.

Este blog ilustrará el uso de bloques estáticos en Java.

¿Qué son los 'bloques estáticos' en Java?

Un bloque se asigna como “ estático ” al asociarle la palabra clave estática. Estos bloques tienen mayor prioridad que “ principal ” tal que se ejecutan antes de la “ principal() ' método.







Sintaxis



clasePrincipal {
estático {
  Sistema . afuera . imprimir ( 'Hola Mundo' ) ;
  } }

En la sintaxis anterior, el bloque incluido se asigna como ' estático ” y será invocado antes que el principal.



Consideraciones importantes con respecto a los 'bloques estáticos'

  • Los bloques estáticos en Java se invocan automáticamente cuando la clase se carga en la memoria.
  • Estos se ejecutan solo una vez, incluso si se crean varios objetos de clase.
  • No hay limitación/restricción en el número de bloques de inicialización estáticos dentro de una clase.
  • Estos bloques también se pueden utilizar para inicializar las variables estáticas.

Ejemplo 1: Utilización de 'Bloques estáticos' en Java

En este ejemplo, el bloque estático se puede utilizar para observar la secuencia en la que se puede ejecutar con respecto a main:





Ejemplo de clase pública {
estático {
Sistema . afuera . imprimir ( '¡Este es un bloque estático!' ) ;
}
publicstaticvoidprincipal ( Cadena [ ] argumentos ) {
Sistema . afuera . imprimir ( '¡Esto es principal!' ) ;
} }

En el bloque de código anterior, simplemente incluya un ' estático ” bloque acumulando el mensaje indicado y en el siguiente paso, muestre el mensaje dado en “ principal ”.

Producción



En esta salida se puede analizar que el bloque estático es invocado antes que el principal.

Ejemplo 2: Ejecutar valor estático dentro de 'Bloque estático' en Java

En esta ilustración en particular, un valor estático puede inicializarse en el bloque estático y luego mostrarse en el principal:

Clase personalizada {
staticint yo ;
estático {
i = 10 ;
Sistema . afuera . imprimir ( '¡Bloque estático llamado!' ) ;
} }
Ejemplo de clase pública {
publicstaticvoidprincipal ( Cadena [ ] argumentos ) {
Sistema . afuera . imprimir ( costumbre. i ) ;
} }

En las líneas de código anteriores:

  • En primer lugar, cree una clase llamada ' costumbre ”.
  • Dentro de la clase, especifique un ' estático ” variable e inicialícelo en el asignado “ estático ' bloquear.
  • Por último, invoque la variable inicializada en el archivo principal haciendo referencia a la clase en la que está contenida.

Producción

En el resultado anterior, se puede observar que, asimismo, el “ estático El bloque ” se ejecuta primero, y el valor inicializado en este bloque también se muestra, respectivamente.

Ejemplo 3: Ejecución de 'Bloque estático' antes de Constructor

En este ejemplo, el bloque estático se puede especificar antes que el constructor, y su precedencia y ejecución se pueden observar en consecuencia:

Clase personalizada {
estático {
Sistema . afuera . imprimir ( 'Este es un bloque estático' ) ;
}
costumbre ( ) {
Sistema . afuera . imprimir ( 'Esto es un constructor' ) ;
} }
Ejemplo de clase pública {
publicstaticvoidprincipal ( Cadena [ ] argumentos ) {
objeto personalizado1 = nuevo costumbre ( ) ;
obj2 personalizado = nuevo costumbre ( ) ;
} }

En las líneas de código anteriores:

  • Del mismo modo, defina una clase llamada “ costumbre ”.
  • Ahora, especifique el “ estático ” bloquear e incluir el constructor de la clase, es decir, “ costumbre() ” teniendo los mensajes indicados, respectivamente.
  • En general, cree dos objetos de la clase creada para invocar las funcionalidades de la clase en el orden de precedencia correspondiente.

Producción

En esta salida, se pueden llevar a cabo las siguientes consideraciones:

  • El bloque estático tiene mayor prioridad en comparación con el constructor contenido.
  • Se crean dos objetos de la clase, pero el bloque estático se ejecuta una vez, como se discutió anteriormente.

Conclusión

El ' bloques estáticos ” en Java se ejecutan solo una vez cuando una clase se carga en la memoria y se ejecutan antes que el “ principal() ' método. Los ejemplos discutidos en el artículo prueban que estos bloques tienen mayor prioridad que el principal y el constructor de clase, respectivamente, y se invocan solo una vez, independientemente de la cantidad de objetos creados. Este blog discutió el uso de bloques estáticos en Java.