Zakaj je konstruktor enum zaseben?
Zakaj je konstruktor enum zaseben?

Video: Zakaj je konstruktor enum zaseben?

Video: Zakaj je konstruktor enum zaseben?
Video: How To Achieve Synchronization In C# While Doing Async Await Multithreaded Programming - .NET Core 2024, November
Anonim

Pravzaprav ne morete imeti javnosti konstruktor enum . Potrebuješ to konstruktor biti zasebni , Ker naštevanja definirajte končen nabor vrednosti (na primer EN_US, EN_UK, FR_FR, FR_BE). Če konstruktor ali bi javni ljudje lahko ustvarili več vrednosti (na primer neveljavne/nedeklarirane vrednosti, kot je XX_KK itd.).

Ali ima lahko enum v zvezi s tem konstruktor?

To je zato, ker enum je Java vsebuje fiksne konstantne vrednosti. Torej nima smisla imeti javnosti ali zaščite konstruktor saj ne morete ustvariti primerka enum . Upoštevajte tudi, da interno enum se pretvori v razred, kot je spodaj. Kot mi lahko ne ustvarjaj enum predmeti eksplicitno zato smo lahko ne kliči konstruktor enum neposredno.

Kakšna je tudi razlika med konstruktorjem enum in običajnim konstruktorjem razreda? Odgovor na vprašanje: v bistvu ni razlika med dva pristopa. Vendar pa enum construct vam ponuja nekaj dodatnih podpornih metod, kot so values(), valueOf() itd., ki bi jih morali napisati sami z razred -z-zasebno- konstruktor pristop.

Poleg tega, kaj je namen enumov?

The enum se uporablja za deklaracijo seznama poimenovanih celoštevilskih konstant. Lahko se definira s pomočjo enum ključno besedo neposredno znotraj imenskega prostora, razreda ali strukture. The enum se uporablja za poimenovanje vsake konstante, tako da se lahko celo število konstante sklicuje z njenim imenom. Primer: enum.

Ali je mogoče enume instancirati?

Enums ne podpira javnih konstruktorjev in zato ne more biti instanciran . Enums so za, ko imate fiksni nabor povezanih konstant. Točno en primer volja biti ustvarjen za vsakega enum stalna.

Priporočena: