რატომ არის enum კონსტრუქტორი პირადი?
რატომ არის enum კონსტრუქტორი პირადი?

ვიდეო: რატომ არის enum კონსტრუქტორი პირადი?

ვიდეო: რატომ არის enum კონსტრუქტორი პირადი?
ვიდეო: #70 Enum Class in Java 2024, დეკემბერი
Anonim

რეალურად არ შეიძლება გქონდეს საზოგადოება enum კონსტრუქტორი . ეს გჭირდება კონსტრუქტორი ყოფნა კერძო , იმიტომ რიცხვები განსაზღვრეთ მნიშვნელობების სასრული ნაკრები (მაგალითად EN_US, EN_UK, FR_FR, FR_BE). თუ კონსტრუქტორი იყო საჯარო ადამიანებს პოტენციურად მეტი მნიშვნელობების შექმნა (მაგალითად, არასწორი/გამოუცხადებელი მნიშვნელობები, როგორიცაა XX_KK და ა.შ.).

ამასთან დაკავშირებით, შეიძლება თუ არა enum-ს ჰქონდეს კონსტრუქტორი?

ეს იმიტომ აღრიცხვა არის ჯავა შეიცავს ფიქსირებულ მუდმივ მნიშვნელობებს. ასე რომ, აზრი არ აქვს საჯარო ან დაცული იყოს კონსტრუქტორი როგორც თქვენ ვერ შექმნით მაგალითს აღრიცხვა . ასევე, გაითვალისწინეთ, რომ შინაგანად აღრიცხვა გარდაიქმნება კლასად, როგორც ქვემოთ. როგორც ჩვენ შეუძლია არ შექმნა აღრიცხვა ობიექტები აშკარად აქედან გამომდინარე ჩვენ შეუძლია არ მოიწვიოთ enum კონსტრუქტორი პირდაპირ.

ასევე, რა განსხვავებაა enum კონსტრუქტორსა და ჩვეულებრივ კლასის კონსტრუქტორს შორის? კითხვაზე პასუხის გასაცემად: არსებითად, არ არსებობს შორის განსხვავება ორი მიდგომა. თუმცა, აღრიცხვა struct გაწვდით დამატებით დამხმარე მეთოდებს, როგორიცაა values(), valueOf() და ა.შ., რომლებიც დამოუკიდებლად უნდა დაწეროთ კლასი -პირადთან- კონსტრუქტორი მიდგომა.

ამას გარდა, რა არის ენუმების მიზანი?

The აღრიცხვა გამოიყენება დასახელებული მთელი მუდმივების სიის გამოსაცხადებლად. ის შეიძლება განისაზღვროს გამოყენებით აღრიცხვა საკვანძო სიტყვა პირდაპირ სახელთა სივრცეში, კლასში ან სტრუქტურაში. The აღრიცხვა გამოიყენება თითოეული მუდმივისთვის სახელის მისაცემად, რათა მუდმივი მთელი რიცხვი იყოს მითითებული მისი სახელის გამოყენებით. მაგალითი: აღრიცხვა.

შესაძლებელია თუ არა ნომრების დაყენება?

ენუმები არ უჭერს მხარს საჯარო კონსტრუქტორებს და, შესაბამისად, არ შეიძლება იყოს ინსტანციური . ენუმები არის როდესაც თქვენ გაქვთ დაკავშირებული მუდმივების ფიქსირებული ნაკრები. ზუსტად ერთი შემთხვევა ნება შეიქმნება თითოეულისთვის აღრიცხვა მუდმივი.

გირჩევთ: