เหตุใด enum constructor จึงเป็นส่วนตัว
เหตุใด enum constructor จึงเป็นส่วนตัว

วีดีโอ: เหตุใด enum constructor จึงเป็นส่วนตัว

วีดีโอ: เหตุใด enum constructor จึงเป็นส่วนตัว
วีดีโอ: Java Tutorial #39 - Enum Constructor in Java Programming (Examples) 2024, ธันวาคม
Anonim

คุณไม่สามารถมีสาธารณะได้จริงๆ ตัวสร้าง enum . คุณต้องการสิ่งนี้ ตัวสร้าง เป็น ส่วนตัว , เพราะ enums กำหนดชุดค่าที่แน่นอน (เช่น EN_US, EN_UK, FR_FR, FR_BE) ถ้า ตัวสร้าง เป็นบุคคลสาธารณะที่สามารถสร้างมูลค่าเพิ่มได้ (เช่น ค่าที่ไม่ถูกต้อง/ไม่ได้ประกาศ เช่น XX_KK เป็นต้น)

เกี่ยวกับเรื่องนี้ enum สามารถมีตัวสร้างได้หรือไม่?

นี้เป็นเพราะ enum คือ Java มีค่าคงที่คงที่ จึงไม่มีประโยชน์ที่จะมีสาธารณะหรือได้รับการคุ้มครอง ตัวสร้าง เนื่องจากคุณไม่สามารถสร้างอินสแตนซ์ของ enum . นอกจากนี้โปรดทราบว่าภายใน enum ถูกแปลงเป็นคลาสด้านล่าง ในขณะที่เรา สามารถ ไม่ได้สร้าง enum วัตถุอย่างชัดเจนเพราะฉะนั้นเรา สามารถ ไม่ได้เรียก ตัวสร้าง enum โดยตรง.

นอกจากนี้ อะไรคือความแตกต่างระหว่างตัวสร้าง enum และตัวสร้างคลาสปกติ? เพื่อตอบคำถาม: โดยพื้นฐานแล้วไม่มี ความแตกต่างระหว่าง ทั้งสองเข้าใกล้ อย่างไรก็ตาม, enum construct ให้วิธีการสนับสนุนเพิ่มเติมแก่คุณ เช่น values(), valueOf() เป็นต้น ซึ่งคุณจะต้องเขียนเองด้วย ระดับ -กับ-ส่วนตัว- ตัวสร้าง เข้าใกล้.

นอกจากนี้ วัตถุประสงค์ของ enums คืออะไร?

NS enum ใช้เพื่อประกาศรายการค่าคงที่จำนวนเต็มที่มีชื่อ สามารถกำหนดได้โดยใช้เครื่องหมาย enum คีย์เวิร์ดโดยตรงภายในเนมสเปซ คลาส หรือโครงสร้าง NS enum ใช้เพื่อตั้งชื่อให้กับค่าคงที่แต่ละตัวเพื่อให้สามารถอ้างอิงจำนวนเต็มคงที่ได้โดยใช้ชื่อ ตัวอย่าง: enum.

enums สามารถยกตัวอย่างได้หรือไม่?

Enums ไม่รองรับตัวสร้างสาธารณะและด้วยเหตุนี้จึงไม่สามารถ ยกตัวอย่าง . Enums ใช้สำหรับเมื่อคุณมีชุดค่าคงที่ที่เกี่ยวข้อง เพียงหนึ่งตัวอย่าง จะ ถูกสร้างขึ้นสำหรับแต่ละคน enum คงที่.

แนะนำ: