Java Enum là một loại đặc biệt của lớp. hình thức đơn giản và chủ yếu là hữu ích của nó không chứa các lĩnh vực tùy chỉnh:
public enum ErrorCodes {
Undefined, Defined, Foo, Bar
}
biên dịch ma thuật tạo ra lớp trông xấp xỉ như sau:
public class ErrorCodes {
public final static ErrorCodes Undefined = new ErrorCodes();
public final static ErrorCodes Defined = new ErrorCodes();
public final static ErrorCodes Foo = new ErrorCodes();
public final static ErrorCodes Bar = new ErrorCodes();
}
biên dịch ma thuật này hy vọng đúng lĩnh vực định nghĩa sau header enum.
Mặt trời thật tử tế để cho phép chúng tôi thêm các trường như vậy theo định nghĩa của thành viên eunum: enum công khai ErrorCodes { Chưa xác định, Được xác định, Foo, Bar; riêng myField String; }
Đây là lý do mã tùy chỉnh của bạn luôn phải được xác định sau trường enum.
+1 - Nếu thứ tự không bị ràng buộc, các enums sẽ khó đọc hơn, cú pháp sẽ khó phân tích cú pháp hơn và các thông báo lỗi cú pháp sẽ kém hiểu hơn. –