30/09/2018, 21:41

Hỏi về kiểu enum trong Java

Mình mới bắt đầu về java và gặp thắc mắc về kiểu enum
trong 1 class thì có thể khai báo bao nhiêu kiểu enum ?
định dạng kiểu enum thì có được phép viết số ở đầu k ?
vì mình sử dụng như vầy thì báo lỗi ở phần dinhDangPhim

enum theLoai {
	   HANH_DONG,KINH_DI,HAI,TINH_CAM,KHOA_HOC_VIEN_TUONG,CO_TRANG,HOAT_HINH,TAM_LY;
	}
enum dinhDangPhim{
	2D,3D,4DX;
}
Đại Sư viết 23:45 ngày 30/09/2018

Trong Java tên biến không được bắt đầu bằng số.

Ben Nguyen viết 23:47 ngày 30/09/2018

Chào bạn! Trong 1 class bạn có thể khai báo bao nhiêu Enum cũng được bạn nhé.
Câu hỏi thứ 2 thì mình thấy bạn dùng sai thuật ngữ thì phải. Theo mình phỏng đoán có lẻ bạn muốn nói đến các constants của 1 Enum phải không? Nếu là vậy thì các Constants tuân thủ theo quy ước như khai báo biến hoặc lớp nhé,
không chứa số tại chữ cái đầu, không chứa các kí tự đặc biệt ngoài _ và $. các Constants nên viết hoa và không được trùng lặp.
Mình xin được bổ trợ thêm 1 số điều, Enum được xem như là 1 class(có nghĩa là 1 kiểu dữ liệu) , Kế thừa mặc định từ lớp Enum trong java.lang. VÌ java không hộ trợ đa kế thừa, nên Enum chỉ có thể Implement từ các interface khác.

  • Enum có kế thừa từ Enum khác? Không được. Vì mặc định Enum khai báo với Final keyword.
  • Có thể khai báo phương thức abstract trong Enum ? Có, tất cả các constant phải override phương thức đó.
    -Enum có thể khai báo field, method, constructor? Có. Constructor phải được khai báo với modifier là Private.
    -Các constants khai báo mặc định là public static final.
  • Có thể khai báo Enum được ở những đâu? Ngoài lớp và trong lớp, nếu trong lớp nếu sẽ mặc định thêm từ khóa static vì vậy bạn có thể sử dụng chính lớp đó để truy xuất Enum.
  • Enum có khai báo với từ khóa new? Không. theo mình được biết bởi constructor mặc định của nó là private nên nó không khai báo được từ khóa new.
    -Còn về sử dụng Enum thì quả thực trong khi học tập, mình chưa gặp phải trường hợp nào để phải dùng Enum cả.:))
  • Để hiểu rõ hơn khái niệm về Enum và Tại sao phải sử dụng bạn có thể tham khảo thêm cuốn sách Java headFirst nhé.
Bài liên quan
0