Opa…não consigo entender aquele corpo de método para constante do enum…tem a minha classe:
enum TamanhoCha {PEQUENO(8), MEDIO(10) {
public String tipoCafe(){
return "Tipo A";
}
};
private int tamanho;
//construtor
TamanhoCha(int tamanho) {
this.tamanho = tamanho;
}
//retorna tamanho
public int getTamanho() {
return tamanho;
}
//retorna o tipo do cafe para PEQUEENO???
public String tipoCafe() {
return "Tipo C";
}
}
public class CorpoDeMetodoEnums {
TamanhoCha tamanhoCha;
public static void main(String[] args) {
CorpoDeMetodoEnums corpoEnums = new CorpoDeMetodoEnums();
corpoEnums.tamanhoCha = TamanhoCha.PEQUENO;
CorpoDeMetodoEnums corpoEnumsCha = new CorpoDeMetodoEnums();
corpoEnumsCha.tamanhoCha = TamanhoCha.MEDIO;
System.out.println(corpoEnumsCha.tamanhoCha.tipoCafe());
System.out.println(corpoEnums.tamanhoCha.tipoCafe());
}
}
Como que ele sabe q o tipo C é pro MEDIO? A ordem q eu dou um tipoCafe() faz diferença?..Tipo, primeiro ele busca dentro do corpo de método da constante e depois busca ‘dentro’ do enum?
Att.
edit: me parece que o metodo tipoCafe() com retorno tipo = “A”, está declarado para a constante MEDIO e sempre vai me retornar A, estou certo?
case eu quisesse declarar outro corpo de metodo da constante GRANDE ( supondo q eu adicionasse ), como que iria ficar? Eu preciso terminar o método com “;” do médio?