Perché il costruttore enum è privato?
Perché il costruttore enum è privato?

Video: Perché il costruttore enum è privato?

Video: Perché il costruttore enum è privato?
Video: Cosa sono gli ENUMERATORI - Enum in Java | BONUS: PriorityQueue, Record, Funzionamento Interno 2024, Dicembre
Anonim

Non puoi davvero avere un pubblico costruttore enum . Hai bisogno di questo costruttore essere privato , perché enumerazioni definire un insieme finito di valori (ad esempio EN_US, EN_UK, FR_FR, FR_BE). Se la costruttore se le persone pubbliche potrebbero potenzialmente creare più valori (ad esempio valori non validi/non dichiarati come XX_KK, ecc.).

A questo proposito, enum può avere un costruttore?

Questo è perché enum is Java contiene valori costanti fissi. Quindi, non ha senso avere pubblico o protetto costruttore poiché non è possibile creare un'istanza di enum . Inoltre, tieni presente che internamente enum viene convertito in classe come di seguito. Come noi Potere non creare enum oggetti in modo esplicito quindi noi Potere non invocare costruttore enum direttamente.

Inoltre, qual è la differenza tra un costruttore di enum e un normale costruttore di classi? Per rispondere alla domanda: in sostanza, non c'è differenza tra i due approcci. Però, enum build ti fornisce alcuni metodi di supporto aggiuntivi come values(), valueOf(), ecc. che dovresti scrivere da solo con il classe -con-privato- costruttore approccio.

Oltre a questo, qual è lo scopo degli enum?

Il enum viene utilizzato per dichiarare un elenco di costanti intere denominate. Può essere definito usando il enum parola chiave direttamente all'interno di uno spazio dei nomi, di una classe o di una struttura. Il enum è usato per dare un nome a ogni costante in modo che l'intero costante possa essere riferito usando il suo nome. Esempio: enum.

Gli enum possono essere istanziati?

enumera non supporta i costruttori pubblici e quindi non può essere istanziato . enumera sono per quando hai un insieme fisso di costanti correlate. Esattamente un'istanza volere essere creato per ciascuno enum costante.

Consigliato: