Varför är enum constructor privat?
Varför är enum constructor privat?

Video: Varför är enum constructor privat?

Video: Varför är enum constructor privat?
Video: #70 Enum Class in Java 2024, December
Anonim

Du kan faktiskt inte ha en offentlighet enum konstruktör . Du behöver det här konstruktör att vara privat , eftersom uppräkningar definiera en ändlig uppsättning värden (till exempel EN_US, EN_UK, FR_FR, FR_BE). Om konstruktör var offentliga personer potentiellt kunde skapa fler värden (till exempel ogiltiga/odeklarerade värden som XX_KK, etc).

Angående detta, kan enum ha en konstruktor?

Det här är för att uppräkning är Java innehåller fasta konstanta värden. Så det är ingen idé att vara offentlig eller skyddad konstruktör som du inte kan skapa instans av uppräkning . Observera också att internt uppräkning konverteras till klass enligt nedan. Som vi burk inte skapa uppräkning objekt uttryckligen därav vi burk inte åberopa enum konstruktör direkt.

Dessutom, vad är skillnaden mellan en enumkonstruktor och en vanlig klasskonstruktor? För att svara på frågan: i huvudsak finns det nej skillnad mellan de två tillvägagångssätten. Dock, uppräkning construct ger dig några ytterligare stödmetoder som values(), valueOf(), etc. som du måste skriva på egen hand med klass -med-privat- konstruktör närma sig.

Förutom detta, vad är syftet med enums?

De uppräkning används för att deklarera en lista med namngivna heltalskonstanter. Det kan definieras med hjälp av uppräkning nyckelord direkt i ett namnområde, klass eller struktur. De uppräkning används för att ge varje konstant ett namn så att det konstanta heltal kan refereras med dess namn. Exempel: uppräkning.

Kan enums instansieras?

Enums stöder inte offentliga konstruktörer och kan därför inte vara det instansierat . Enums är för när du har en fast uppsättning relaterade konstanter. Exakt ett exempel kommer skapas för var och en uppräkning konstant.

Rekommenderad: