Prečo je konštruktor enum súkromný?
Prečo je konštruktor enum súkromný?

Video: Prečo je konštruktor enum súkromný?

Video: Prečo je konštruktor enum súkromný?
Video: Полный курс TypeScript за час | Тайпскрипт для начинающих 2024, November
Anonim

V skutočnosti nemôžete mať verejnosť konštruktor enum . Potrebujete toto konštruktér byť súkromné , pretože enumy definovať konečnú množinu hodnôt (napríklad EN_US, EN_UK, FR_FR, FR_BE). Ak konštruktér Verejnosť mohla potenciálne vytvoriť viac hodnôt (napríklad neplatné/nedeklarované hodnoty, ako je XX_KK atď.).

Čo sa týka tohto, môže mať enum konštruktor?

To je preto, že enum je Java obsahuje pevné konštantné hodnoty. Nemá teda zmysel mať verejné alebo chránené konštruktér pretože nemôžete vytvoriť inštanciu enum . Všimnite si tiež, že interne enum sa prevedie na triedu, ako je uvedené nižšie. Ako my môcť nevytvárať enum objekty výslovne teda my môcť nevyvolávať konštruktor enum priamo.

Aký je tiež rozdiel medzi konštruktorom enum a konštruktorom bežnej triedy? Aby som odpovedal na otázku: v podstate neexistuje rozdiel medzi dva prístupy. však enum konstrukt vám poskytuje niektoré ďalšie podporné metódy, ako sú values(), valueOf() atď., ktoré by ste museli napísať sami pomocou trieda -s-súkromným- konštruktér prístup.

Okrem toho, aký je účel enumov?

The enum sa používa na deklarovanie zoznamu pomenovaných celočíselných konštánt. Dá sa definovať pomocou enum kľúčové slovo priamo vo vnútri menného priestoru, triedy alebo štruktúry. The enum sa používa na pomenovanie každej konštanty, aby bolo možné na celé číslo konštanty odkazovať pomocou jej názvu. Príklad: enum.

Je možné vytvoriť inštanciu enumov?

Enums nepodporuje verejných konštruktérov, a preto nemôže byť inštanciované . Enums sú, keď máte pevnú sadu súvisiacich konštánt. Presne jeden prípad bude byť vytvorený pre každého enum konštantný.

Odporúča: