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?????

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Se me ocurre

Que aparte de lo que tú mismo propones podrias tener una clase de constantes de la siguiente forma

public class Constantes{
     
     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

int algunValor = Constantes.CONSTANTE_UNO;

y de esa forma no tendrias que crear objetos

public enum Constante  {   

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:

cat Constante.java  
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