Constantes e Enumeradores
Constantes
As constantes são variáveis cujo valor é imutável, ou seja, não pode ser alterado durante a execução do programa. Elas são frequentemente utilizadas para representar valores fixos que não mudam, como o valor de π ou a velocidade da luz.
são valores imutáveis que são definidos em um programa e que podem ser acessados a partir de outras partes do código.
Para definir uma constante em Java, basta utilizar a palavra-chave final
antes da declaração da variável. Por exemplo:
final double PI = 3.14159265359;
Nesse exemplo, a variável PI
é definida como uma constante do tipo double
com o valor de π. Como ela é uma constante, seu valor não pode ser alterado durante a execução do programa.
Além do termo final
, é comum utilizar as palavras-chaves public
e static
para a definição de constantes para que possam ser utilizadas por outras classes sem a necessidade de instanciar a classe. Podendo ser definidas em classes ou interfaces, tornando-as acessíveis por todo o programa. Por exemplo:
public interface Constantes {
public static final double PI = 3.14159265359;
}
Neste exemplo, a constante PI
foi definida dentro da interface Constantes
. Como a constante foi definida com as palavras-chave static final
, ela pode ser acessada a partir de qualquer classe que implemente a interface Constantes
.
public class Circulo {
private static final double PI = 3.14159265359;
private double raio;
public Circulo(double raio) {
this.raio = raio;
}
public getCircunferencia(){
return 2*PI*raio;
}
}
No exemplo acima, a classe Circulo
utiliza a constante PI
para calcular a circunferência por meio do método getCircunferencia
. Neste caso, a constante foi definida como privada pois não se tem a intensão de expor o valor ao restante do sistema.
O uso de constantes em Java é importante porque ajuda a tornar o código mais legível e fácil de manter. Além disso, constantes podem ser usadas para armazenar valores que serão utilizados em várias partes do código, permitindo uma mudança centralizada do valor em caso de necessidade.
Enumeradores
Os enumeradores, ou enum, são uma classe especial em Java que representa um conjunto de constantes pré-definidas. Eles são frequentemente utilizados para representar valores fixos que não mudam durante a execução do programa, como dias da semana, meses do ano, tipos de cartas em um baralho, entre outros.
Para criar um enumerador em Java, basta utilizar a palavra-chave enum
seguida pelo nome do enumerador e as constantes entre chaves. Por exemplo:
enum DiaDaSemana {
SEGUNDA, TERCA, QUARTA, QUINTA, SEXTA, SABADO, DOMINGO
}
Dessa forma, a classe DiaDaSemana
é criada com as constantes SEGUNDA
, TERCA
, QUARTA
, QUINTA
, SEXTA
, SABADO
e DOMINGO
. Para utilizar o enumerador, basta referenciar a constante desejada pelo seu nome, como em:
DiaDaSemana hoje = DiaDaSemana.SEGUNDA;
Os enumeradores em Java também podem possuir atributos e métodos, assim como qualquer outra classe. Para definir atributos e métodos em um enumerador, basta adicioná-los após a definição das constantes. Por exemplo:
enum DiaDaSemana {
SEGUNDA("Segunda-feira", "Começo da semana"),
TERCA("Terça-feira", "Segunda-feira do fim de semana"),
QUARTA("Quarta-feira", "Metade da semana"),
QUINTA("Quinta-feira", "Quase lá"),
SEXTA("Sexta-feira", "Último dia de trabalho"),
SABADO("Sábado", "Dia de diversão"),
DOMINGO("Domingo", "Descanso merecido");
private String nome;
private String descricao;
DiaDaSemana(String nome, String descricao) {
this.nome = nome;
this.descricao = descricao;
}
public String getNome() {
return nome;
}
public String getDescricao() {
return descricao;
}
}
Nesse exemplo, o enumerador DiaDaSemana
possui dois atributos, nome
e descricao
, e um construtor que recebe valores para esses atributos. Além disso, há dois métodos que retornam os valores dos atributos. Importante observar que mesmo tendo atributos, a utilização do enum segue igual pois a construção do objeto é feita de maneira estática na definição do enumerador.
Além dos atributos e métodos customizados apresentados acima, o enum possui métodos de utilidade que podem ajudar durante a sua utilização.
DiaDaSemana hoje = DiaDaSemana.SEGUNDA;
System.out.println(hoje.getNome()); // imprime a string Segunda-feira
System.out.println(hoje.getDescricao()); // imprime a string "Começo da semana"
// valueOf(String nome) retorna o enumerador correspondente à string informada
DiaDaSemana amanha = DiaDaSemana.valueOf("TERCA");
// toString() retorna a string correspondente ao enumerador
System.out.println(amanha.toString()); // imprime a string "TERCA"
// ordinal() retorna o valor inteiro correspondente à
// posição do enumerador na sua definição
System.out.println(hoje.ordinal()); // imprime o valor 0
System.out.println(amanha.ordinal()); // imprime o valor 1
Referências
Last updated