ここに私が書いたクラスのコードがあります
class Demo
{
int x,y;
Demo(int a,int b){x=a;y=b;}
public void swap(Demo ref) // interchanges field values of x and y
{
int temp;
temp=ref.x;
ref.x=ref.y;
ref.y=temp;
}
public void change(Demo ref1,Demo ref2) // supposed to interchange to class variables of Demo class
{
Demo temp = ref1;
ref1 = ref2;
ref2 = temp;
}
}
swap メソッドは正常に機能します。つまり、x と y の値を交換します。
ここで、2 つの質問があります。
- swap メソッドは、渡された実際のデータをどのように変更できるのでしょうか? (Java では参照渡しではないことを読みました。)
- change メソッドがクラス参照を交換しないのはなぜですか?