Java pasa por problema de referencia [duplicado]
Posible duplicado:
¿Java pasa por referencia?
Tengo esta clase aquí:
public class Cat {
private String catNum;
private static Cat cat1;
private static Cat cat2;
public Cat(String catNumber) {
catNum = catNumber;
}
public static void change(Cat cat1, Cat cat2) {
Cat temp = cat1;
cat1 = cat2;
cat2 = temp;
}
public String toString() {
return "cat number: " + catNum;
}
public static void main(String[] args) {
cat1 = new Cat("1");
cat2 = new Cat("2");
System.out.println("cat1=" + cat1);
System.out.println("cat2= " + cat2);
change(cat1, cat2);
System.out.println("cat1=" + cat1);
System.out.println("cat2= " + cat2);
}
}
Me gustaría obtener elchange()
función de trabajo. Sé que es un problema acerca de pasar objetos por referencia, pero no estoy seguro de cómo solucionarlo. Alguien por favor ayuda.