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???
Armazenando valores?
M
1 Resposta
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
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo