Variáveis globais
Se você tem experiência com outras linguagens de programação, como C e C ++, provavelmente já usou variáveis globais. Uma variável global é aquela que está acessível a todas as partes de um programa e geralmente é declarada como parte das primeiras linhas do código.
Java não suporta tecnicamente variáveis globais. Como uma linguagem puramente orientada a objetos, tudo precisa fazer parte de uma classe. O motivo é proteger dados e membros de classes de serem alterados, inadvertidamente ou propositalmente, por outras partes do programa. No entanto, você ainda pode precisar de variáveis que possam ser acessadas em seu programa, e não confinadas a classes específicas.
Vamos dar uma olhada em algumas maneiras de fazer isso, começando com variáveis estáticas.
Variáveis Estáticas
Como Java é orientado a objetos, todas as variáveis são membros de classes. No entanto, podemos criar variáveis estáticas que são mais acessíveis. O modificador estático diz ao Java que a variável pode ser usada em todas as instâncias da classe. Portanto, se você criar uma variável para taxa de pagamento e torná-la estática, qualquer instância da classe pai pode acessar a taxa de pagamento.
Este código mostra como declaramos duas variáveis dentro de uma classe. Embora estejamos declarando preço e páginas na classe Openclass, eles são variáveis estáticas e agora podem ser usadas por instâncias do Openclass.
classe pública Openclass {
preço duplo estático público = 15,24;
páginas longas estáticas públicas = 1053;
}
Em outra classe, podemos obter essas variáveis simplesmente denotando a classe, colocando um ponto e, finalmente, o nome do campo. O código a seguir cria novas variáveis, mas atribui o valor das variáveis globais a essas novas variáveis:
public static void main (String [] args) {
double newPrice = Openclass.price;
longo newPages = Openclass.pages;
System.out.println (newPrice);
System.out.println (newPages);
}
Quando este programa é executado, obtemos esta saída:
Agora você pode ver que a variável global tradicional não existe em Java. Sim, tecnicamente temos variáveis disponíveis em todo o programa, mas também criamos variáveis adicionais para conter os valores dessas variáveis estáticas.
No entanto, existe outra maneira de criar uma variável um tanto global. Vamos discutir isso a seguir.
Variáveis Constantes
Variáveis constantes são aquelas variáveis que permanecem constantes, o que significa que não mudam depois de configuradas, e nenhum código em seu programa pode alterá-las depois de configuradas. Embora as constantes não sejam tecnicamente variáveis, elas ainda são declaradas como uma variável, mas com uma pequena variação. Para declarar uma constante disponível em todos os lugares, use o modificador final. O modificador final indica que o valor não pode ser alterado. Para diferenciar constantes de outras variáveis, a convenção é nomeá-las em todas as letras maiúsculas, como você pode ver aqui:
public class Global {
// vamos declarar uma constante global
// palavra-chave final
public static final double PARSEC = 3.26;
public static void main (String [] args) {
// algum código aqui
}
}
// acesse a constante de outra classe
public class Espaço {
// classe de referência (Global) .constant
double test3 = Global.PARSEC * 3;
}
Observe que fomos capazes de usar a constante PARSEC em outra classe inteiramente e criar uma nova variável que a multiplica por três. Embora esse tipo de operação seja perfeitamente legal, não podemos atribuir um novo valor para PARSEC. Agora ela se tornou uma variável (global) de todo o programa, embora seja uma constante.
Resumo da lição
Vamos recapitular. Variáveis globais não são tecnicamente permitidas em Java. Uma variável global é aquela declarada no início do código e está acessível a todas as partes do programa. Como Java é orientado a objetos, tudo faz parte de uma classe. A intenção é proteger os dados de serem alterados. Uma variável estática pode ser declarada, que pode estar disponível para todas as instâncias de uma classe. Também podemos declarar uma variável constante , que não muda depois de configurada, usando o modificador final , o que significa que o valor nunca será alterado. As constantes são geralmente nomeadas com letras maiúsculas.