Enumeración estática VS no estática en Java
Este artículo presenta enumeración
en Java y la diferencia entre enumeraciones
estáticas y no estáticas.
Introducción a Enum
en Java
En Java, una enumeración
es un tipo de datos que un programador puede usar para crear múltiples variables constantes. Generalmente, el programador usa la palabra clave final
para declarar la variable constante en Java, pero los programadores pueden declarar todas las variables finales a la vez y asignar su valor inicial usando un enum
.
Sintaxis para usar Enum
:
public enum EnumA { En1, En2 }
public class demo {
public static void main(String[] args) {
EnumA test = EnumA.En1;
}
}
En la sintaxis anterior, los usuarios pueden ver que EnumA
contiene las variables constantes En1
y En2
y cómo hemos accedido a ellas dentro del método estático de la clase demo
.
Estático VS no estático Enum
en Java
Ahora, diferenciaremos el Enum
declarado con la palabra clave static
y sin la palabra clave static
. Los usuarios pueden consultar el siguiente código para aprender a declarar el Enumeración
con y sin la palabra clave estática
.
Sintaxis de Enum
con y sin palabra clave estática
:
public class demo {
public static enum EnumA { En1, En2 }
public enum EnumB { En3, En4 }
public static void main(String[] args) {
EnumA test1 = EnumA.En1;
EnumB test2 = EnumB.En3;
}
}
En la sintaxis anterior, los usuarios pueden ver que EnumA
se define con la palabra clave static
y EnumB
sin la palabra clave static
. Sin embargo, estamos accediendo a ambas constantes de Enum
de la misma manera, concluyendo que en Java, todo Enum
es estático incluso si los usuarios usan la palabra clave static
al definirlo.
En Java, solo podemos acceder a los miembros estáticos y ejecutar métodos estáticos de una clase sin una referencia de objeto dentro del método public static
.
Además, los desarrolladores pueden observar que estamos accediendo a las variables de EnumA
y EnumB
dentro del método public static
sin hacer referencia a un objeto de su clase, lo que significa que Enum
declarado sin una palabra clave static
también es estático por defecto .
Entonces, el artículo concluye que incluso si los programadores no usan la palabra clave estática
al definir el Enum
, es estático por defecto.