Acesso a variável estática

4 respostas
dntalemao

Pessoal, surgiu um problema nesse código de teste:

class Ola{
    static int i;
    static int d;
    public static void main(String[] args){
        int i=0;
    	i=20;
    	System.out.println(i);

    }

}

a saída gerada foi 0, como nesse contexto posso acessar minha variável static, sabendo que preciso manter a variável local i com esse mesmo nome… com métodos não static sei que é possível utilizar o this…
valeuu

4 Respostas

Rodrigo_Sasaki
class Ola{
    static int i;
    static int d;
    public static void main(String[] args){
        int i=0;
    	i=20;
    	System.out.println(Ola.i); //Acesse utilizando o nome da classe.

    }

}
nel

dntalemao a nível de conhecimento, tenha em mente que o modificar static torna o elemento um membro da classe e não de uma instância.

E

Isso parece questão de prova.

Na prática, evita-se ter esse problema (que costuma ser chamado de “sombreamento” ou “shadowing”) para evitar problemas de compreensão do código.

Se alguém me apresentar um código desses, vou dar uma bronca daquelas, porque está plantando uma bomba pronta para estourar.

dntalemao

Obrigado digaoneves.
Parece uma questão de prova realmente, e na prática fica inviável, deixa o código confuso, porém só queria saber se daria certo.
valeuu 8)

Criado 16 de agosto de 2012
Ultima resposta 16 de ago. de 2012
Respostas 4
Participantes 4