Proč je konstruktor enum soukromý?
Proč je konstruktor enum soukromý?

Video: Proč je konstruktor enum soukromý?

Video: Proč je konstruktor enum soukromý?
Video: Берт Рутан о будущем космоса 2024, Listopad
Anonim

Ve skutečnosti nemůžete mít veřejnost konstruktor výčtu . Potřebuješ to konstruktér být soukromé , protože výčty definovat konečnou množinu hodnot (například EN_US, EN_UK, FR_FR, FR_BE). Pokud konstruktér veřejní lidé mohli potenciálně vytvořit více hodnot (například neplatné/nedeklarované hodnoty, jako je XX_KK atd.).

Pokud jde o toto, může mít enum konstruktor?

To je proto, že enum je Java obsahuje pevné konstantní hodnoty. Nemá tedy smysl mít veřejné nebo chráněné konstruktér protože nemůžete vytvořit instanci enum . Všimněte si také, že interně enum se převede na třídu, jak je uvedeno níže. Jako my umět nevytvářet enum objekty výslovně tedy my umět nevyvolávat konstruktor výčtu přímo.

Jaký je také rozdíl mezi konstruktorem výčtu a konstruktorem běžné třídy? Abych odpověděl na otázku: v podstatě neexistuje rozdíl mezi dva přístupy. Nicméně, enum konstrukt vám poskytuje některé další podpůrné metody, jako jsou values(), valueOf() atd., které byste museli napsat sami pomocí třída -se-soukromým- konstruktér přístup.

Kromě toho, jaký je účel výčtů?

The enum se používá k deklaraci seznamu pojmenovaných celočíselných konstant. Lze jej definovat pomocí enum klíčové slovo přímo uvnitř jmenného prostoru, třídy nebo struktury. The enum se používá k pojmenování každé konstanty, takže celé číslo konstanty lze odkazovat pomocí jejího názvu. Příklad: enum.

Lze vytvořit instanci výčtů?

Výčty nepodporuje veřejné konstruktéry, a proto nemůže být vytvořená instance . Výčty jsou pro, když máte pevnou sadu souvisejících konstant. Přesně jeden příklad vůle být vytvořen pro každého enum konstantní.

Doporučuje: