No compila enum (class expected)
Hola estoy estudiando Java, el libro de Katy Sierra para la certifiación SCJP, estaba haciendo uno de los ejemplos que viene en el libro, relacionado con "ENUM" pero a la hora de compilar me dice: "Class or interface expected"
No se si estoy declarando mal el enum o que pasa, ya revisé todo y parece que la sintaxis esta bien, esta de acuerdo al libro, El enum esta declarado fuera de la clase.
Aquà el códgio:
public class Coffee {
CoffeSize size;
public static void main(String[]args) {
Coffee drink1= new Coffee();
drink1.size = CoffeSize.BIG;
Coffee drink2 = new Coffee();
drink2.size = CoffeSize.OVERWHELMING;
System.out.println(drink1.size.getOunces());
}
}
enum CoffeSize {
BIG(8),
HUGE(10),
OVERWHELMING(16)
{ //Inicia codigo para la constante OVERWHELMING
public String getLidCode() { // Se sobrescribe el metodo de CoffeSize
return "A";
} // Termina Metodo sobreescrito
}; //Termina bloque OVERWHELMING "constant specific class body"
//Se requiere punto y coma cuando ay mas codigo despues
CoffeSize (int ounces) { // Este es el constructor con las variables de tipo int y ounces
this.ounces = ounces;
}
private int ounces; //declara la variable ounces como privada
public int getOunces(){
return ounces;
}
public String getLidCode { // Este Metodo es del Enum CoffeSize, y es sobrescrito en OVERWHELING
return "B";
}
} // Termina Enum
// Aqui Termina el Archivo .java
El archivo se llama Coffee.java
Gracias
No se si estoy declarando mal el enum o que pasa, ya revisé todo y parece que la sintaxis esta bien, esta de acuerdo al libro, El enum esta declarado fuera de la clase.
Aquà el códgio:
public class Coffee {
CoffeSize size;
public static void main(String[]args) {
Coffee drink1= new Coffee();
drink1.size = CoffeSize.BIG;
Coffee drink2 = new Coffee();
drink2.size = CoffeSize.OVERWHELMING;
System.out.println(drink1.size.getOunces());
}
}
enum CoffeSize {
BIG(8),
HUGE(10),
OVERWHELMING(16)
{ //Inicia codigo para la constante OVERWHELMING
public String getLidCode() { // Se sobrescribe el metodo de CoffeSize
return "A";
} // Termina Metodo sobreescrito
}; //Termina bloque OVERWHELMING "constant specific class body"
//Se requiere punto y coma cuando ay mas codigo despues
CoffeSize (int ounces) { // Este es el constructor con las variables de tipo int y ounces
this.ounces = ounces;
}
private int ounces; //declara la variable ounces como privada
public int getOunces(){
return ounces;
}
public String getLidCode { // Este Metodo es del Enum CoffeSize, y es sobrescrito en OVERWHELING
return "B";
}
} // Termina Enum
// Aqui Termina el Archivo .java
El archivo se llama Coffee.java
Gracias
Hola lo acabo de probar con java jdk 1.5 y eclipse 3.2 y funciona perfectamente. te recomiendo que chequees la version de jdk que usas! saludos
Gracias Leonardo, tienes razón, estaba totalmente seguro que tenÃa la version 1.5, pero ayer probé compilarlo en el NetBeans y ahi si se ejecutó bien, regreso a la carpeta de donde intentaba compilar (desde consola) y ahà tengo la version 1.4, que novatada la mÃa.
Gracias
Gracias
