h1

Enum (I)

julio 23, 2010

Como han cambiado los tipos enumerados en Java.

Dado que este es un blog eminentemente práctico voy al tema:

– No puedo extender la clase: Efectivamente no tienes que utilizar Enum sino enum. Es un lío, sí. Lo que pasa es que internamente enum extiende Enum y ademas de manera “final” lo que significa que no lo puedes extender

– Veo que puedo declarar un constructor pero no puedo utilizarlo. Pues cierto es ello. De alguna manera la class enum es algo asi como estatica 100% asi que no puedes instanciar objetos. Te preguntaras entonces para que el constructor. Pues para añadir informacion al tipo. No solo los podemos enumerar, también podemos asociarlos y nos será muy útil

Cómo utilizar enum en Java:

1) Lo mas simple
public enum ErrorEnum {
ERROR_DESCONOCIDO, ERROR_DATOS_ENTRADA, ERROR_BASE_DATOS;
}
2) Pero podemos asociar un valor, por ejemplo un mensaje
public enum ErrorEnum {
ERROR_DESCONOCIDO(“Error desconocido”),
ERROR_DATOS_ENTRADA(“Datos de entrada erroneos”),
ERROR_BASE_DATOS(“La base de datos no esta disponible”);
private String mensaje;
ErrorEnum(String msg){
this.mensaje = msg;
}
public String getMensaje(){
return this.mensaje;
}
}
Cómo veis debemos hacer un constructor de tipo tal que le pasemos por parámetro el tipo que ponemos adjunto al Enum. Internamente, cuando construya el enum en tiempo de ejecución utilizará el constructor para crear una instancia de cada uno de los definidos, a los que tendremos acceso. Así mismo he creado un atributo o propiedad donde guardar internamente la constante y un getter para recuperarla.
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: