To explain:
public class SomeClass {
int aNumber = 0;
public void changeNumber(int number){
aNumber = number;
}
public int getNumber(){
return aNumber;
}
}
public class Testapp {
public static void main(String[] args) {
NewClass object1 = new NewClass();
NewClass object2 = object1;
object1.changeNumber(5);
object2.changeNumber(2);
System.out.println("object1: "+object1.getNumber());
System.out.println("object2: "+object2.getNumber());
}
}
This will output:
object1: 2
object2: 2
How would I make it output:
object1: 5
object2: 2
You have two options:
1) Implement a copy constructor:
And then to create a copy:
2) Implement the Cloneable interface and override Object.clone():
Then to create a copy:
Note: I have omitted any code that does not change.