Thực hành tốt khi xác định một điều kiện là gì?Thực hành Enum - Xác định bên trong một lớp học/riêng biệt, đặt công khai/riêng tư
Ví dụ: tôi có lớp Người. Đối với lớp học này, tôi đã chọn sử dụng một enum có các giá trị MALE và FEMALE.
Nếu enum được xác định bên trong lớp Person hoặc riêng biệt? Nếu enum được định nghĩa là riêng tư hay công khai? Ngoài ra, bạn có bất kỳ lời khuyên nào khác có thể sử dụng một enum linh hoạt nhất có thể không?
@leon: Cảm ơn bạn đã chia sẻ. Chỉ để xác nhận, IPType không được sử dụng trong setters/getters và được định nghĩa là riêng tư? –
@James P. - vì phương thức gọi IPHandler sử dụng enum (như trong _IPHandler.getFormattedLocal (** IPHandler.IPType ipType **)) _, chúng phải được truy cập từ bên ngoài lớp cha của nó. Điều này có nghĩa là không, họ không thể được tư nhân - và không nên có setters. Java có cho phép điều đó không? – leon
Ok, tôi nhận được bạn. Khi tôi đề cập đến getters và setters tôi có nghĩa là những người trong lớp IPHandler của bạn. Nó cần thiết để đặt enum là có thể truy cập công khai nếu chúng được tham chiếu trong các phương thức. Điều này khiến tôi băn khoăn trong trường hợp nào sẽ là một ý tưởng tốt để định nghĩa một enum như một tệp Java riêng biệt. P.S: Chỉ cần cho các chi tiết, enums có thể có biến/phương pháp được thêm vào mặc dù rõ ràng là không thể sửa đổi các giá trị enum thực tế. –