1. Variáveis locais
Vamos ter uma conversa mais séria sobre variáveis. Mas desta vez não discutiremos sua estrutura interna. Em vez disso, vamos nos concentrar em como as variáveis interagem com o código onde estão localizadas.
Todas as variáveis que são declaradas dentro de métodos são chamadas de variáveis locais . Uma variável local existe apenas no bloco de código em que é declarada. Ou, para ser mais preciso, existe desde o momento em que é declarado até o final do bloco de código em que é declarado.
Para simplificar, vamos considerar um exemplo:
Código | Visibilidade variável |
---|---|
|
|
Vamos falar sobre como acessar variáveis locais mais uma vez. Aqui está um bloco de código que consiste em chaves: pode ser um corpo de método, o corpo de um loop ou apenas um bloco de código para uma instrução condicional. Uma variável declarada em um bloco de código existe até o final desse bloco de código.
Se uma variável for declarada no corpo do loop, ela existirá apenas no corpo do loop. Ele é criado e destruído a cada iteração do loop.
Exemplo:
Código | Visibilidade variável |
---|---|
|
|
Conseguimos declarar uma segunda variável local nomeada b
apenas porque a primeira b
variável não está visível no bloco de código onde a segunda b
variável é declarada.
2. Parâmetros
Como dissemos antes, cada método pode ter variáveis que chamamos de parâmetros. E quanto à sua visibilidade e tempo de vida?
É tudo simples. Os parâmetros são criados quando a execução entra no método (ou seja, quando o código do método começa a ser executado). Eles são eliminados quando o método termina. Eles são visíveis em todo o corpo do método.
Exemplo:
Código | Visibilidade variável |
---|---|
|
|
Como dissemos anteriormente, args
é apenas uma variável cujo tipo é um array de strings. E como todos os parâmetros, está disponível em qualquer lugar dentro do corpo do método. Dito isso, geralmente o ignoramos em nossos exemplos.
3. Variáveis em uma classe
Você se lembrará das lições do Nível 1 que uma classe pode ter métodos e variáveis. Às vezes, os métodos são chamados de métodos de instância e variáveis — variáveis de instância ou campos. Na verdade, esses são sinônimos em Java.
Quais são as variáveis (ou campos) de uma classe?
São variáveis que são declaradas não em um método, mas em uma classe.
Eles podem ser acessados de qualquer método (não estático) de uma classe. Grosso modo, variáveis de instância são variáveis compartilhadas por todos os métodos de uma classe.
Exemplo:
Código | Visibilidade variável |
---|---|
|
|
Neste exemplo, temos dois métodos — add()
e remove()
. O add()
método incrementa as sum
variáveis count
de instância e e o remove()
método diminui as variáveis sum
e count
. Ambos os métodos funcionam em variáveis de instância compartilhadas.
As variáveis locais existem enquanto um método está em execução. As variáveis de instância de uma classe existem dentro de um objeto de uma classe enquanto esse objeto existir. Você aprenderá detalhes sobre os objetos de uma classe no próximo nível.
4. Variáveis estáticas
Assim como os métodos, as variáveis em uma classe podem ser estáticas ou não estáticas. Métodos estáticos só podem acessar variáveis estáticas.
No Nível 11, analisaremos a estrutura de variáveis e métodos estáticos e você entenderá os motivos dessas restrições.
Para fazer uma variável estática (variável de classe), você deve escrever a static
palavra-chave em sua declaração.
As variáveis estáticas não estão vinculadas a um objeto ou instância da classe na qual são declaradas. Em vez disso, eles pertencem à própria classe. É por isso que eles existem mesmo que nenhum objeto da classe tenha sido criado . Você pode se referir a eles de outras classes usando uma construção como:
ClassName.variableName
Exemplo:
Código | Visibilidade variável |
---|---|
|
|
No exemplo acima, criamos uma Storage
classe separada, movemos as variáveis count
e sum
para ela e as declaramos static . Variáveis estáticas públicas podem ser acessadas de qualquer método em um programa (e não apenas de um método).
GO TO FULL VERSION