Cómo utilizar inicializadores estáticos en java

Video: Tutorial Java SE - 31 Métodos de Instancia y Métodos de Clase (static)

En Java, se puede utilizar bloques de inicializador para inicializar las variables de instancia. Inicializador bloques no se ejecutan hasta que se crea una instancia de una clase, por lo que no se puede contar con ellos para inicializar los campos estáticos. Después de todo, es posible acceder a un campo estático antes de crear una instancia de una clase.

Video: Tutoriales Java - 45 Variables "static"

Java proporciona una función llamada una inicializador estático que está diseñado específicamente para que pueda inicializar los campos estáticos. La forma general de un inicializador estático es el siguiente:

estático{declaraciones ...}

Como se puede ver, un inicializador estático es similar a un bloque de inicialización, pero comienza con la palabra estático. Al igual que con un bloque de inicialización, se codifican inicializadores estáticos en el cuerpo de la clase, pero fuera de cualquier otro bloque, como el cuerpo de un método o constructor.

Video: Métodos Estáticos y Variables Estáticas, Tutorial 10 Programación Java

La primera vez que acceda a un miembro estático, como un campo estático o un método estático, los inicializadores estáticos en la clase se ejecutan - siempre y cuando no lo ha creado una instancia de la clase. Esto se debe a los inicializadores estáticos se ejecutan también la primera vez que se crea una instancia. En ese caso, los inicializadores estáticos se ejecutan antes de se ejecuta el constructor.

Si una clase tiene más de un inicializador estático, los inicializadores se ejecutan en el orden en que aparecen en el programa.

Video: Atributos y métodos estáticos en Java

He aquí un ejemplo de una clase que contiene un inicializador estático:

StaticInit clase {int public static x-static {x = 32 -} // otros miembros de la clase, tales como constructores y métodos // van aquí ...}

Este ejemplo es bastante trivial. De hecho, se puede lograr el mismo efecto simplemente asignando el valor 32 a la variable cuando se declara. Si, sin embargo, había que realizar un cálculo complicado para determinar el valor de x - o si su valor proviene de una base de datos - un inicializador estático podría ser muy útil.

Artículos Relacionados