Como un enumerado
es una clase, puede disfrutar de campos y métodos propios, sin olvidar nunca
que sólo existirán tantos objetos de esa clase como constantes se han definido.
Billetes.java |
/** * Billetes de euros. */ public
enum Billetes { B5(5), B10(10), B20(20), B50(50), B100(100), B200(200), B500(500); private final int valor; Billetes(int valor) { this.valor = valor; } public int getValor() { return valor; } public String toString() { return valor + "euros"; } } |
También es
posible definir métodos específicos para cada objeto constante:
Operation.java |
public
enum Operation { PLUS
{ double eval(double x, double y) { return x + y; } }, MINUS
{ double eval(double x, double y) { return x - y; } }, TIMES
{ double eval(double x, double y) { return x * y; } }, DIVIDE { double eval(double x, double y)
{ return x / y; } }; abstract double eval(double x, double y); public static void main(String[]
argumentos) { double x =
Double.parseDouble(argumentos[0]); Operation operation =
Operation.valueOf(argumentos[1]); double y =
Double.parseDouble(argumentos[2]); System.out.println(operation.eval(x,
y)); } } |
$
java Operation 2 PLUS 2 4.0 |
Temas relacionados