Eclipse Indigo, java 1,6Eclipse ama, odia javac, que es una enumeración, más o menos, con una interfaz
public interface I {
String getName();
}
/* and in another file */
public enum E implements I {
E1() {
String getName() { return "foo"; }
};
}
En Eclipse, esto funcionó! Otras clases podrían invocar a getName() en las referencias de tipo I. El javac real lo rechazó, alegando que no había tal cosa como getName() en la enumeración. ¿Es esto solo un error de Eclipse?
Tenga en cuenta que lo que es extraño acerca de esto es la definición de método dentro del enumerador. Todo funciona bien tanto en Eclipse como en Javac si hago lo normal y la función definida en la parte inferior de la enumeración devuelve el valor de un campo.
Debe permitirse. Esta pregunta está relacionada: http://stackoverflow.com/questions/2709593/why-would-an-enum-implement-an-interface ¿Qué error de 'javac' estás recibiendo? –
+1 para el título. :-) –
También relacionado con http://stackoverflow.com/questions/9505857/workaround-for-javac-compilation-order-bug-in-maven – Nicocube