Uma constante é uma variável cujo valor não pode ser alterado depois de atribuído. Java não possui suporte interno para constantes, mas os modificadores de variáveis estático e final pode ser usado para criar efetivamente um.
As constantes podem tornar seu programa mais facilmente lido e compreendido por outras pessoas. Além disso, uma constante é armazenada em cache pela JVM e pelo seu aplicativo, portanto, o uso de uma constante pode melhorar o desempenho.
Modificador estático
Isso permite que uma variável seja usada sem primeiro criar uma instância do classe; um membro de classe estático está associado à própria classe, e não a um objeto. Todas as instâncias de classe compartilham a mesma cópia da variável.
Isso significa que outro aplicativo ou main () pode usá-lo facilmente.
Por exemplo, a classe myClass contém uma variável estática days_in_week:
classe pública myClass {
static int days_in_week = 7;
}
Porque esta variável é estático, ele pode ser usado em outro lugar sem criar explicitamente um objeto myClass:
classe pública myOtherClass {
static void main (String [] args) {
System.out.println (myClass.days_in_week);
}
}
Modificador final
O modificador final significa que o valor da variável não pode ser alterado. Depois que o valor é atribuído, ele não pode ser reatribuído.
Tipos de dados primitivos (ou seja, int, short, long, byte, char, float, double, boolean) pode tornar-se imutável / imutável usando o modificador final.
Juntos, esses modificadores criam uma variável constante.
final estático int DAYS_IN_WEEK = 7;
Observe que declaramos DAYS_IN_WEEK em todas as letras maiúsculas depois de adicionar o final modificador. É uma prática antiga entre os programadores Java definir variáveis constantes em todas as maiúsculas, bem como separar palavras com sublinhados.
O Java não requer essa formatação, mas facilita a leitura imediata do código por qualquer pessoa. identificar uma constante.
Problemas potenciais com variáveis constantes
A maneira como a palavra-chave final funciona em Java é que o ponteiro da variável para o valor não pode ser alterado. Vamos repetir isso: é o ponteiro que não pode alterar o local para o qual está apontando.
Não há garantia de que o objeto que está sendo referenciado permanecerá o mesmo, apenas que a variável sempre manterá uma referência ao mesmo objeto. Se o objeto referenciado for mutável (ou seja, possui campos que podem ser alterados), a variável constante pode conter um valor diferente do que foi originalmente atribuído.