Enumeración estática VS no estática en Java

Shubham Vora 12 octubre 2023
  1. Introducción a Enum en Java
  2. Estático VS no estático Enum en Java
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.

Shubham Vora avatar Shubham Vora avatar

Shubham is a software developer interested in learning and writing about various technologies. He loves to help people by sharing vast knowledge about modern technologies via different platforms such as the DelftStack.com website.

LinkedIn GitHub

Artículo relacionado - Java Enum