Miksi enum constructor on yksityinen?
Miksi enum constructor on yksityinen?

Video: Miksi enum constructor on yksityinen?

Video: Miksi enum constructor on yksityinen?
Video: How To Achieve Synchronization In C# While Doing Async Await Multithreaded Programming - .NET Core 2024, Marraskuu
Anonim

Sinulla ei todellakaan voi olla julkisuutta enum rakentaja . Tarvitset tämän rakentaja olla yksityinen , koska enums määrittää rajallinen joukko arvoja (esimerkiksi EN_US, EN_UK, FR_FR, FR_BE). Jos rakentaja jos julkiset ihmiset voisivat luoda lisää arvoja (esimerkiksi virheellisiä/ilmoittamattomia arvoja, kuten XX_KK jne.).

Voiko enumilla olla rakentaja tähän liittyen?

Tämä johtuu siitä, että enum on Java sisältää kiinteitä vakioarvoja. Ei siis ole mitään järkeä olla julkista tai suojattua rakentaja koska et voi luoda esiintymää enum . Huomaa myös, että sisäisesti enum muunnetaan luokkaan kuten alla. Kuten me voi älä luo enum esineitä nimenomaisesti siksi me voi älä kutsu enum rakentaja suoraan.

Lisäksi, mitä eroa on enum-konstruktorilla ja tavallisella luokkakonstruktorilla? Vastatakseni kysymykseen: pohjimmiltaan ei ole ero välillä kaksi lähestymistapaa. Kuitenkin, enum construct tarjoaa joitain muita tukimenetelmiä, kuten arvot(), valueOf() jne. jotka sinun on kirjoitettava itse komennolla luokkaa -yksityisen kanssa- rakentaja lähestyä.

Tämän lisäksi, mikä on enumien tarkoitus?

The enum käytetään ilmoittamaan luettelo nimetyistä kokonaislukuvakioista. Se voidaan määrittää käyttämällä enum avainsana suoraan nimiavaruudessa, luokassa tai rakenteessa. The enum käytetään antamaan nimi jokaiselle vakiolle, jotta vakiokokonaisluku voidaan viitata sen nimellä. Esimerkki: enum.

Voidaanko enumeja instantoida?

Enums ei tue julkisia rakentajia, joten se ei voi olla sitä instantoitu . Enums ovat kun sinulla on kiinteä joukko toisiinsa liittyviä vakioita. Juuri yksi tapaus tahtoa luodaan jokaiselle enum vakio.

Suositeltava: