# public class PassArray {
# public static void main(String[] args) {
# int array[]={1,2,3,4,5};
# for(int value:array){
# System.out.print(value);
# }
# System.out.println("改变后的数组");
# modify(array);
# for(int value:array){
# System.out.print(value);
# }
# System.out.println("现在改变元素");
# modify(array[3]);
# System.out.println("再次打印数组,看第3个元素是什么");
# for(int value:array){
# System.out.print(value);
# }
# }
#
# private static void modify(int i) {
# System.out.println("第3个元素修改后是:");
# i*=3;
# System.out.println(i);
#
# }
#
# private static void modify(int[] array) {
# for(int counter=0;counter<array.length;counter++){
# array[counter]*=2;
# }
#
# }
#
#
# }
第一次方法调用modify(int[] array)是传的一个数组的引用,结果形参,实参指向了同一个引用,再回到main方法时,数组已经改成了{2,4,6,8,10},
第2次方法调用modify(int i) 是传递了一个基本类型,一个数组元素,第3个元素,再回到MAIN方法时,这个元素仍然没有变化。
书上有2句话:1.当方法修改基本类型参数时,它对调用时采用的变量没有影响
2.对于引用类型的型参也是如此,如果讲另一个对象的引用赋给引用类型的型参,则型参指向新对象,但调用时的变量仍指向原来的对象。
看完这2句,我再看这试验代码,完全晕了~
# public static void main(String[] args) {
# int array[]={1,2,3,4,5};
# for(int value:array){
# System.out.print(value);
# }
# System.out.println("改变后的数组");
# modify(array);
# for(int value:array){
# System.out.print(value);
# }
# System.out.println("现在改变元素");
# modify(array[3]);
# System.out.println("再次打印数组,看第3个元素是什么");
# for(int value:array){
# System.out.print(value);
# }
# }
#
# private static void modify(int i) {
# System.out.println("第3个元素修改后是:");
# i*=3;
# System.out.println(i);
#
# }
#
# private static void modify(int[] array) {
# for(int counter=0;counter<array.length;counter++){
# array[counter]*=2;
# }
#
# }
#
#
# }
第一次方法调用modify(int[] array)是传的一个数组的引用,结果形参,实参指向了同一个引用,再回到main方法时,数组已经改成了{2,4,6,8,10},
第2次方法调用modify(int i) 是传递了一个基本类型,一个数组元素,第3个元素,再回到MAIN方法时,这个元素仍然没有变化。
书上有2句话:1.当方法修改基本类型参数时,它对调用时采用的变量没有影响
2.对于引用类型的型参也是如此,如果讲另一个对象的引用赋给引用类型的型参,则型参指向新对象,但调用时的变量仍指向原来的对象。
看完这2句,我再看这试验代码,完全晕了~
解决方案 »
- 如何根据字体字号来生成图片?文字距图片大小无缝隙
- 请问:如何可以获取一个文件的原始编码类型。相信大家也可能碰到这个问题。。
- 关于数据库搜索优化
- Java heap space
- JAVA基础应用: 处理Java中的日期问题
- GUI的一个简单问题,关于setLayout()的,谢谢!
- 急!!!关于BIRT和MYSQL之间的中文问题!!!有用MYSQL做过BIRT的朋友指点啊!!
- 把一个比较大的源文件,分块读取之后,然后再分块写入目标文件,为什么写入后的目标文件与源文件不同?
- 怎样把自己做的一个软件嵌入到JBuilder中,把它变成Jbuilder的一个功能,就想东方网译嵌入到IE里一样。
- 请教:使用java.net中httpURLConnection类模拟post方法?、、全部分数送上!
- 5的阶乘程序的编写
- java应该如何学起
本质上来说传得都是同名的副本,而不是参数本身。