Pular para o conteúdo principal

Java - Escopo de variáveis



O escopo de uma variável pode durar enquanto a instância de um objeto durar, os atributos de uma classe possuem essa característica, exemplo:

A variável também pode ter seu ciclo de vida apenas durante a execução de um método, esse tipo é conhecido como variável local, exemplo:




Também é possível acessar variáveis carregadas na memória do programa, estas são declaradas como estáticas, exemplo:



A seguir mostrarei exemplos de acesso a essas variáveis:



Uma dica importante: por vezes duas variáveis podem possuir o mesmo nome em diferentes escopos, o que pode confundir um pouco as coisas.. Mas não significa que há algo errado, em diversas situações isso ocorre para deixar as coisas mais claras. Veja como exemplo o método abaixo, ele recebe como parâmetro um nome para que o atributo nome receba esse dado. Isso deve acontecer quando se trata de atributos "private", que não podem ser acessados diretamente de fora da classe (mas isso é assunto para outro post).

O nome desse tipo de uso é conhecido como shadowing e a palavra reservada "this" faz com que a variável recebida como parâmetro seja atribuída ao atributo da classe.






Fonte: https://docs.oracle.com.

Comentários

Postagens mais visitadas deste blog

Java - Estrutura de classe

Uma classe java simples deve possuir os items a seguir: Pacotes Os pacotes servem para organizar todas as classes que um sistema possui, é correto afirmar que toda classe pertence a um pacote. Caso não haja um pacote declarado a  classe faz parte do default package. Classe Neste item é onde se define atributos e comportamentos de um objeto no java. Sua declaração pode ser muito simples, algo como class Dog {} . (Os modificadores de acesso e notações merecem um post exclusivo :p ). Variáveis A declaração de variáveis deve conter o  seu tipo e seu nome . Existem alguns tipos de variáveis, que guardam conteúdo de maneira diferente, por exemplo algumas podem guardar valores durante a instância de um objeto, outras podem guardar valores compartilhados por todas as instâncias deste objeto ( static ) e também há a possibilidade de variáveis com espoco apenas durante a execução de um método. Métodos A declaração é um pouco diferente, contém o tipo ...