前回 参照型変数の代入はリモコンが増えるだけという説明をしたので、今度は実際に組んで確かめてみます。
その前にここでも同じくDiceクラスを作っておきます
package exercise;
public class Dice {
private int val;
private String color;
public Dice (int val,String color) {
this.val = val;
this.color = color;
}
public Dice(String color) {
this(1,color);
}
public Dice() {
this(1,"白");
}
public void play() {
val=(int)(Math.random()*6)+1;// ここにコードを挿入
}
public int getVal() {
return val;
}
public void setVal(int val) {
this.val=val;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color=color;
}
}
で、
参照型の変数代入のプログラムがコチラ
package exercise;
public class Sample_sample1 {
public static void main(String[] args) {
Dice dice1 = new Dice();
Dice dice2 = dice1;
dice1.play();
System.out.println("dice1.getVal() ="+dice1.getVal());
System.out.println("dice2.getVal() ="+dice2.getVal());
// ここにコードを挿入
}
}
こんな感じで( ^ω^)・・・
参照型変数dice1の値をdice2に代入し同じオブジェクトを参照することを確かめます。
Diceオブジェクトを参照をdice1に代入
次に、dice1を同じDice型の変数dice2に代入
ここでは、新たにオブジェクトを作ったわけではなく、dice1にある参照をdice2に代入(コピー)しただけです。
今回は最後にポイントを説明して終わりにしようかな?
point 参照型の変数の代入
参照型変数の代入で、A=B;にすると、AにはBと同じ参照がコピーされるだけ
Java言語では、new演算子によってのみ、オブジェクト新規作成が可能。
以上 ですねwww
ここまでご覧いただきありがとうございました。
BY マんタ
参考書は__________________________________
川場 隆 Kawaba Takashi
秀和システム