Eclipse chàm, java 1,6Eclipse yêu nó, javac ghét nó, nó là một enum, loại, với một giao diện
public interface I {
String getName();
}
/* and in another file */
public enum E implements I {
E1() {
String getName() { return "foo"; }
};
}
Trong Eclipse, điều này làm việc! Các lớp khác có thể gọi getName() trên các tham chiếu của kiểu I. javac thực sự đã từ chối nó, tuyên bố rằng không có điều nào như getName() trong enum. Đây có phải chỉ là lỗi của Eclipse không?
Lưu ý rằng điều đáng lo ngại về điều này là định nghĩa phương thức bên trong điều tra số. Tất cả đều hoạt động tốt trong cả Eclipse và Javac nếu tôi làm điều bình thường, và có hàm được định nghĩa ở dưới cùng của enum trả về giá trị của một trường.
Nó phải được cho phép. Câu hỏi này có liên quan: http://stackoverflow.com/questions/2709593/why-would-an-enum-implement-an-interface Bạn đang nhận được lỗi 'javac' nào? –
+1 cho tiêu đề. :-) –
Cũng liên quan đến http://stackoverflow.com/questions/9505857/workaround-for-javac-compilation-order-bug-in-maven – Nicocube