Armazenando valores?

1 resposta
M
Tenho 2 classes:

public class ClassConstructor{

public static int x;

public static int y;

public ClassConstructor(int xIn, int yIn){

x = xIn;

y = yIn;

}

public static void main(String args[]){

ClassConstructor classe = new ClassConstructor(x, y);

}

}

class Test001{

static ClassConstructor[] cc = new ClassConstructor[2];

public static void main(String[] args){

cc[0] = new ClassConstructor(1,1);

cc[1] = new ClassConstructor(2,2);

System.out.println(cc[0].x);

System.out.println(cc[0].y);

System.out.println(cc[1].x);

System.out.println(cc[1].y);

}

}

Restultado da Test001: cc[0].x = 2 , cc[0].y = 2, cc[1].x = 2, cc[1].y = 2

E por que naum:

cc[0].x = 1 , cc[0].y = 1, cc[1].x = 2, cc[1].y = 2

Eu estava imaginando q daria este resultado???

1 Resposta

Betinhum

Marcio,

Vc declarou os atributos com static, dessa maneira todas instâncias da classe ClassConstructor compartilham dos mesmos valores nos atributos.

public static int x; public static int y;

Tente assim:

public int x; public int y;

Espero ter ajudado.

Criado 30 de outubro de 2004
Ultima resposta 30 de out. de 2004
Respostas 1
Participantes 2