1.送信パラメータ値は、GumingのSiを意図し、変数の値が別の変数に渡されます。
例えば:
int x = 10,y;
y = x;
前記通過のx、yの値は、yの値は10であるが、値は依然として10×です。
それを達成する方法を最終的にどれですか?
実際に、ここでの値によって存在使用されていないxの値が、そのコピーに(すなわち、割り当て)。
これは、xの値には影響しません。Y得られたパラメータ値は「オリジナル」「との生活に相当する」コピー」
動作X-Yに影響されないであろう、これは伝統的な価値観の原理パラメータである。同様に、パスのパラメータタイプの基準値また、アドレス番号にコピーです。
2.オブジェクトの組み合わせ
まず、我々はあなたがそのようなAクラスとオブジェクトを作成する場合、このオブジェクトは、どの手段このオブジェクトは、他のすることを、他のオブジェクトを持っていますが、クラスはオブジェクトのメンバ変数としてそれを所有することができます知っていますある彼ら自身の一部として、被験体は、い。
オブジェクトはオブジェクトBの組み合わせである場合、オブジェクトはあることができるデリゲートオブジェクトBは、それらのメソッドを呼び出し、オブジェクトは、オブジェクトBと組み合わせた多重方法です。
他のクラスのメソッドは、私たちはこの方法を挙げることができます。
例:
package shaman4_2;
public class Family {
TV homeTV;
void buyTV(TV tv)
{
homeTV = tv;
}
void remoteControl(int m)
{
homeTV.setChannel(m);
}
void seeTV()
{
homeTV.showProgram();
}
}
package shaman4_2;
public class TV {
int channel;
void setChannel(int m)
{
if(m>=1) {
channel = m;
}
}
int getChannel()
{
return channel;
}
void showProgram()
{
switch(channel)
{
case 1 : System.out.println("综合频道");
break;
case 2 : System.out.println("经济频道");
break;
case 3 : System.out.println("文艺频道");
break;
case 4 : System.out.println("国际频道");
break;
case 5 : System.out.println("体育频道");
break;
default : System.out.println("不能收看"+channel+"频道");
}
}
}
package shaman4_2;
public class MainClass {
public static void main(String[] args) {
TV haierTV = new TV();
haierTV.setChannel(5);
System.out.println("haierTV的频道是"+haierTV.getChannel());
Family zhangSanFamily = new Family();
zhangSanFamily.buyTV(haierTV);
System.out.println("zhangSanFamily开始看电视节目");
zhangSanFamily.seeTV();
int m = 2;
System.out.println("zhangSanFamily将电视更换到"+m+"频道");
zhangSanFamily.remoteControl(m);
System.out.println("haierTV的频道是"+haierTV.getChannel());
System.out.println("zhangSanFamily在看电视节目");
zhangSanFamily.seeTV();
}
}
この例では、良好なオブジェクト再利用の組合せ示す
上記要約研究は、不合理存在するので、指摘お互いから学ぶことを歓迎、個人含みます。