//Atributos
SMALL,
MEDIUM,
LARGE{
//Estou sobreescrevendo o metodo getPreco()
public Double getPreco(){
return 20.00;
}
};
//Os outros (SMALL,MEDIUM) irão usar esse metodo
public Double getPreco(){
return 15.00;
}
}
public class Loja{
Size size;
public static void main(String[] args){
Loja loja = new Loja();
loja.size = Size.SMALL;
System.out.println(loja.size.getPreco());
}
Além de usar métodos também é possível usar construtores, o enum é legal porque podemos definir um conjunto de constantes em nossos sistemas por exemplo, uma lista de estados, cidades, países, em vez de colocar esses valores no banco de dados.
Claro que é possível. Só editar o arquivo e adicionar novos itens nele. De outra forma, não dá. (na verdade, deve ser possível editando diretamente o bytecode do .class mas não recomendo esse caminho).
Vc quer popular a combo com os itens do enum?
public class EnumTest {
enum Teste {
valor1,
valor2,
valor3
}
public static void main(String[] args) {
Teste[] values = Teste.values();
String[] valuesStr = new String[values.length];
for (int i = 0 ; i < values.length ; ++i) {
valuesStr[i] = values[i].toString();
}
for (String string : valuesStr) {
System.out.println(string);
}
}
}