Por que o construtor de enum é privado?
Por que o construtor de enum é privado?

Vídeo: Por que o construtor de enum é privado?

Vídeo: Por que o construtor de enum é privado?
Vídeo: Enumeradores (enum) - Curso Programação Completo C# - Aula 10 2024, Abril
Anonim

Você não pode realmente ter um público construtor enum . Você precisa disso construtor ser estar privado , Porque enums definir um conjunto finito de valores (por exemplo EN_US, EN_UK, FR_FR, FR_BE). Se o construtor era público, as pessoas poderiam potencialmente criar mais valores (por exemplo, valores inválidos / não declarados, como XX_KK, etc).

Com relação a isso, enum pode ter um construtor?

Isto é porque enum é Java contém valores constantes fixos. Então, não faz sentido ter público ou protegido construtor como você não pode criar uma instância de enum . Além disso, observe que internamente enum é convertido em classe conforme abaixo. Como nós posso não criar enum objetos explicitamente, portanto, nós posso não invocar construtor enum diretamente.

Além disso, qual é a diferença entre um construtor de enum e um construtor de classe regular? Para responder à pergunta: essencialmente, não há diferença entre as duas abordagens. Contudo, enum construct fornece alguns métodos de suporte adicionais como values (), valueOf (), etc. que você teria que escrever por conta própria com o classe -with-private- construtor abordagem.

Além disso, qual é o propósito de enums?

o enum é usado para declarar uma lista de constantes inteiras nomeadas. Ele pode ser definido usando o enum palavra-chave diretamente dentro de um namespace, classe ou estrutura. o enum é usado para dar um nome a cada constante de forma que o inteiro constante possa ser referenciado usando seu nome. Exemplo: enum.

Os enums podem ser instanciados?

Enums não suporta construtores públicos e, portanto, não pode ser instanciado . Enums são para quando você tem um conjunto fixo de constantes relacionadas. Exatamente uma instância vai ser criado para cada enum constante.

Recomendado: