[Resolvido] Variaveis Locais, Variaveis de Instância

7 respostas
Hel

Qual a diferença entre essas declarações de variáveis?
ex:

String nome;

ou

private String nome;

ou

public String nome;

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?

Espero ansiosamente por alguma resposta.

7 Respostas

eliangela

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.:
public class Classe {
    
    private String variavelDeInstancia; //Variável de instância - declarada no escopo da classe
    
    public String metodo() {
        int variavelLocal = 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!

eliangela

Veja se esse tutorial te dá um help…
http://javafree.uol.com.br/artigo/6941/Cap-2-Modificadores.html

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]

[ ]'s

Criado 9 de janeiro de 2010
Ultima resposta 9 de jan. de 2010
Respostas 7
Participantes 4