Tại sao hàm tạo enum là private?
Tại sao hàm tạo enum là private?

Video: Tại sao hàm tạo enum là private?

Video: Tại sao hàm tạo enum là private?
Video: #13 Enum là gì trong C# Phần 2? (Enum in C# With Examples P2) | Lemon coder 2024, Có thể
Anonim

Bạn thực sự không thể có một công chúng hàm tạo enum . Bạn cần cái này constructor được riêng , tại vì enums xác định một bộ giá trị hữu hạn (ví dụ EN_US, EN_UK, FR_FR, FR_BE). Nếu constructor là những người công khai có thể tạo ra nhiều giá trị hơn (ví dụ: các giá trị không hợp lệ / không được khai báo như XX_KK, v.v.).

Về điều này, enum có thể có một hàm tạo không?

Điều này là bởi vì enum là Java chứa các giá trị hằng số cố định. Vì vậy, không có ích gì khi có công khai hoặc được bảo vệ constructor vì bạn không thể tạo phiên bản của enum . Ngoài ra, lưu ý rằng trong nội bộ enum được chuyển đổi thành lớp như bên dưới. Như chúng ta có thể không tạo enum các đối tượng rõ ràng do đó chúng tôi có thể không gọi hàm tạo enum trực tiếp.

Ngoài ra, sự khác biệt giữa hàm tạo enum và hàm tạo lớp thông thường là gì? Để trả lời câu hỏi: về cơ bản, không có sự khác biệt giữa hai cách tiếp cận. Tuy vậy, enum construct cung cấp cho bạn một số phương thức hỗ trợ bổ sung như giá trị (), valueOf (), v.v. mà bạn phải tự viết với lớp -với-riêng- constructor cách tiếp cận.

Ngoài ra, mục đích của enums là gì?

Các enum được sử dụng để khai báo danh sách các hằng số nguyên được đặt tên. Nó có thể được xác định bằng cách sử dụng enum từ khóa trực tiếp bên trong không gian tên, lớp hoặc cấu trúc. Các enum được sử dụng để đặt tên cho mỗi hằng số để số nguyên hằng số có thể được gọi bằng cách sử dụng tên của nó. Thí dụ: enum.

Enums có thể được khởi tạo?

Enums không hỗ trợ các trình tạo công khai và do đó, không thể tạo ra . Enums dành cho khi bạn có một tập hợp các hằng số liên quan cố định. Chính xác một trường hợp sẽ được tạo cho mỗi enum hằng số.

Đề xuất: