[Resolvido] Variaveis Locais, Variaveis de Instância
7 respostas
Hel
Qual a diferença entre essas declarações de variáveis?
ex:
Stringnome;
ou
privateStringnome;
ou
publicStringnome;
Eu sei as funcionalidades dos modificadores de acesso public e private.
Uma variável de instancia (atributo), só pode ser chamada assim se for declarada
especificando qual modificador de acesso?
Em outras palavras:
se eu declarar uma variável como no primeiro exemplo, ela é uma variável local ou um atributo?
Seguinte... a variável de instância (ou atributo) não depende do modificador que vc usa, mas sim se vc usa ele no escopo da classe.
A variável local é aquela que é declarada dentro do método.
Ex.:
publicclassClasse{privateStringvariavelDeInstancia;//Variável de instância - declarada no escopo da classepublicStringmetodo(){intvariavelLocal=0;//variável local - declarada no escopo no metodo}}
Alexandre_Saudate
private -> a variável só pode ser acessada dentro da classe
default (nenhum modificador) -> private + classes que estão no mesmo pacote
protected -> default + classes filhas
public -> todas as classes
Tiburcio_Mancha
outra coisa importante, variável local não recebe nenhum modificador de acesso, só as de instância, sendo que ela só fica visível no escopo em q se encontra
Hel
Entendi perfeitamente…
Preciso de uma explicação mais específica sobre, quando não se especifica um modificado de acesso
a um atributo.
Agradeço pelas respostas!
Vale lembrar tbem que o GUJ tem muitos artigos e tutoriais Java. EDIT: Com relação a "quando usar um modificador de acesso, a resposta é: Depende da sua necessidade. Lembrando que é altamente desaconselhável usar atributos com modificador public. http://www.devmedia.com.br/articles/viewcomp.asp?comp=7515
Hel
Caso encerrado! :]
Agradeço a todos pela atenção.
Espero um dia poder estar compartilhando conhecimento com o forum.
Abraço!
eliangela
Por favor, não se esqueça de colocar o post como RESOLVIDO.
Clique no botão editar do seu primeiro post e adicione no título a tag [RESOLVIDO]