como puedo crear una enumeraciòn global;
Hola:
Tengo varias constantes y necestio hacer global esas constantes por que van a ser ocupadas por varias clases , cual es la mejor opcion para hacer esto
enum constantes{ algo(1),algo(2),.......etc}
private int opcion;
private constantes(int opcion){
this.opcion=opcion;
}
public int getOpcion(){return this.opcion}
}
public class ConstanesGlobal{
Constantes constantes
public ConstantesGlobal(){}
}
bueno entonces si tengo 15 clases o màs tendria que hacer
ConstantesGlobal()=new ConstantesGlobal() y luego llamar a enum
cual es la mejor forma de hacer esto?????
- Inicie sesión o regístrese para enviar comentarios
Se me ocurre
Que aparte de lo que tú mismo propones podrias tener una clase de constantes de la siguiente forma
public static final int CONSTANTE_UNO = 1;
public static final int CONSTANTE_MIL = 1000;
}
Entonces para que las utilices en cualquier otra clase las llamarias con el nombre completo(no me acuerdo como se llama este concepto), por ejemplo
y de esa forma no tendrias que crear objetos
public enum Constante {
UNO(1),
DOS(2),
MIL(1000),
OCHOMIL(8000);
private final int valor;
private Constante( int aValue ) {
this.valor = aValue;
}
}
como uso esa constante
por ejemplo llamo desde otra clase o lo uso en switch , y obtengo Constante.class
como puedo hacer algo como:
int opcion=Constante.UNO desde cualquier clase
y tambien como puedo ocuparla en switch , esa constante llamada desde cualquier clase , ejemplo
Class A --------------------------------- Class B
en A
Constante.UNO Constante.DOS
usando enumeracion
Gracias por tu respuesta
No entendí nada de lo último
No entendí nada de lo último que dijiste, podrías editar tu post y re-frasearlo?
Como puedo ocupar esa
Como puedo ocupar esa enumeracion que hiciste
Ejemplo
Class A ClassB
y quiero llamarla en ambas clases, ahora hago esto Enumeracion.ALGO ,pero no me sale ALGO si no sale Enumeracion.Class??
Sigo sin entender, pero creo
Tienes que usar un dato de tipo de la enumeración, no un entero.
Ejemplo:
public enum Constante {
UNO(1),
DOS(2),
MIL(1000),
OCHO_MIL(8000);
private final int valor;
private Constante( int aValue ) {
this.valor = aValue;
}
}
$javac Constante.java
$cat ClaseA.java
public class ClaseA {
public static void main( String ... args ) {
new ClaseA().test( Constante.OCHO_MIL );
}
static void test( Constante c ) {
switch( c ) {
case MIL: System.out.println("Fueron mil");break;
case OCHO_MIL: System.out.println("y un millon");break;
}
}
}
$javac ClaseA.java
$java ClaseA
y un millon