public?class?Test?{
???
???public?static?void?main(String[]?args)?{
//方法一:引用傳遞
???//創(chuàng)建A對象并給數(shù)組賦值
???A?a?=?new?A();
???//得到A對象的數(shù)組
??int[]?aArr?=?a.getIntArr();
??System.out.println("引用傳遞的A數(shù)組:?");
??for?(int?i?=?0;?i?<?aArr.length;?i++)?{
??System.out.print(aArr[i]?+?"?");
??}
??//創(chuàng)建B對象并給數(shù)組賦值
??B?b?=?new?B();
??b.setIntArr(aArr);
??System.out.println("\n引用傳遞的B數(shù)組:?");
??int[]?bArr?=?b.getIntArr();
??for?(int?i?=?0;?i?<?bArr.length;?i++)?{
??System.out.print(bArr[i]?+?"?");
??}
???//改變B數(shù)組,A數(shù)組也會隨之變化
??bArr[2]?=?666; ??
??System.out.println("\n引用傳遞改變值之后的A數(shù)組:?");
??for?(int?i?=?0;?i?<?aArr.length;?i++)?{
??System.out.print(aArr[i]?+?"?");
??}
??System.out.println("\n引用傳遞改變值之后的B數(shù)組:?");
??for?(int?i?=?0;?i?<?bArr.length;?i++)?{
??System.out.print(bArr[i]?+?"?");
??}
??
?//方法二:值傳遞
??A?aa?=?new?A();
??int[]?aaArr?=?aa.getIntArr();
??int[]?tempArr?=?new?int[aaArr.length];
??System.out.println("\n值傳遞的A數(shù)組:?");
??for?(int?i?=?0;?i?<?tempArr.length;?i++)?{
??tempArr[i]?=?aaArr[i];
??System.out.print(aaArr[i]?+?"?");
}
??
??//創(chuàng)建B對象并給數(shù)組賦值
??B?bb?=?new?B();
??bb.setIntArr(tempArr);
??System.out.println("\n值傳遞的B數(shù)組:?");
??int[]?bbArr?=?bb.getIntArr();
??for?(int?i?=?0;?i?<?bbArr.length;?i++)?{
??System.out.print(bbArr[i]?+?"?");
??}
???//改變B數(shù)組,A數(shù)組不會隨之變化
??bbArr[2]?=?666; ??
??System.out.println("\n值傳遞改變值之后的A數(shù)組:?");
??for?(int?i?=?0;?i?<?aaArr.length;?i++)?{
??System.out.print(aaArr[i]?+?"?");
??}
??System.out.println("\n值傳遞改變值之后的B數(shù)組:?");
??for?(int?i?=?0;?i?<?bbArr.length;?i++)?{
??System.out.print(bbArr[i]?+?"?");
??}
??
}
}
class?A{
private?int[]?intArr?=?{1,2,3,4,5};
//get()..?set()..
public?int[]?getIntArr()?{
return?intArr;
}
public?void?setIntArr(int[]?intArr)?{
this.intArr?=?intArr;
}
}
class?B{
private?int[]?intArr?;
//get()..?set()..
public?int[]?getIntArr()?{
return?intArr;
}
public?void?setIntArr(int[]?intArr)?{
this.intArr?=?intArr;
}
}
要保證B類和A類中有相同類型的數(shù)組昂