Problema com metodo static

5 respostas
J

Pessoal, tenho um metodo de classe(static) e uma variável de instância em uma determinada classe. Já quebrei muita a cabeça mais não conseguir resolver este problema: Como posso usar esta variável de instância dentro desse metodo? Alguem conhece uma maneira prática de resolver este problema. Impreterivelmente este metodo tem que ser “static”

5 Respostas

E
class X {
     public static void y (X x) {
          System.out.println (y.z);
     }
     public static void main (String[] args) {
         X x = new X();
         X.y (x);
     }
     private int z;
}
J

Será que tem outra maneira?

AndreLuisOnLine

Se não me engano caso seja uma variavel de instância vc vai ter que criar um objeto da classe e usar um método (get) para pegar esse atributo. Ou então vc declara o atributo estático tbm. Mas dai ja é uma variavel de classe e nao de instancia.

J

não tem como declará-lo como estático porque está instância usa um metodo tb estático para poder criar esta instancia

Rodrigo_Sasaki

Você não tem como acessar uma variável de instância em um método estático sem recebê-la por parâmetro.

Por que? porque um método estático não depende de uma instância para ser invocado, portanto não é obrigatória a existência de uma instância dessa classe, para que o método estático seja invocado. Portanto ele pode ser invocado em uma situação onde nenhuma instância da classe exista.

Por isso um método estático acessa variáveis estáticas, ou locais, porém nunca de instância (a não ser, novamente, que ela seja informada por parâmetro).

Criado 13 de junho de 2012
Ultima resposta 13 de jun. de 2012
Respostas 5
Participantes 4