Programação Orientada a Objetos: Escopo de Variáveis

porLuis Augusto Moretto

Programação Orientada a Objetos: Escopo de Variáveis

Programação orientada a objetos

O que é o escopo de variáveis em java??

O escopo é a vida de uma variável em Java, tratando-se dos locais nos quais ela pode ser acessada.

Em Java, o escopo de variáveis muda de acordo com o bloco onde ela foi declarada.

A variável é criada no primeiro acesso a ela e destruída após o interpretador sair do bloco de execução ao qual ela pertence.

Logo, se uma variável for criada dentro de um determinado método, quando este método chegar ao final, esta variável é destruída (GC). 

Se uma variável for declarada no começo da classe (fora dos métodos), estas variáveis podem ser acessadas por todos os
métodos da classe. (atributos da classe)

As variáveis existem somente dentro do bloco em que foram definidas, sendo que um bloco é delimitado por chaves.

Na figura abaixo, temos os seguintes escopos:

  • num: atributo de instância existe em todos os métodos da classe (chaves pretas);
  • res: atributo de instância existe em todos os métodos da classe (chaves pretas);
  • n: argumento ou parâmetro do método calcular; existe da linha 5 a 17 (chaves vermelhas);
  • res: variável auxiliar declarada na linha 8; existe da linha 8 a 17 (chaves azuis);
  • i: variavel auxiliar do for; existe nas linhas 9 e 10
Fatorial e o escopo das variáveis
Fatorial

Sombreamento

Quando um argumento ou uma variável de um método possui nome idêntico a um atributo (variável res na figura 6) então é preciso utilizar a palavra reservada this para fazer referência ao atributo.

Isto é chamado de sombreamento ou ocultação do atributo pela variável de método