黑马程序员技术交流社区

标题: 实例解析Java应用开发语言中的值传递与引用 [打印本页]

作者: 夕阳游子    时间: 2015-9-1 21:34
标题: 实例解析Java应用开发语言中的值传递与引用

Java中其实是有指针的,只不过不同于C++中那么灵活,复杂,可以认为Java中的指针是一种“安全指针”,对于其中的参数传递也是一个很麻烦的问题,这里有个小示例,可以参考下。
package src.whu; public class Yinyong{ public static void main(String args[]){ String str=\"1234\"; char ch1[]={'h','e','l','l','o'}; char ch2[]={'h','e','l','l','o'}; change(str,ch1,ch2); System.out.println(\"str:\"+str); System.out.print(\"ch1:\"); for(int i=0;i); } System.out.println(); System.out.print(\"ch2:\"); for(int i=0;i
小结:
函数调用的本质是一个值传递,关键是形参的类型,数组是指针型的,string是值类型的。 ch2='c';这句话的含义是将ch2所指向的内存中偏移是0的内容变成c,月就是ch2指向的内容发生了改变。 而ch1=new char[]{'c','e','l','l','o'};相当于让ch1指向一个新的数组,并不会改变原有的数组。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2