值传递和引用传递有什么区别

更新时间:02-05 教程 由 曼雁 分享

值传递和引用传递有什么区别?

你学过C或者C++吗?这两个概念是从C/C++延续过来的,就类似于C里面的值传递和指针传递。在java中除了基本类型(Integer/Float/Double等)和String类的对象外,所有的类对象引用都是引用传递,也就是传递的对象地址。所谓值传递就是传递的值的拷贝,而不是原来的值,比如public static void main(String[] args) {int a = 10;int b = 20;int c = add(a, b)

;System.out.println("a = " + a + ", b = " + b + ", c = " + c);

}private static int add(int a, int b) {a = 20;b = 30;return a + b;

}输出:a = 10, b = 20, c = 50这就是所谓值传递,在被调方法中改变参数值不会影响主调方法中定义的变量的值如果你将a、b定义为Student类的对象,然后在add方法中改变参数里面的值,那么主调方法main中的a、b变量将跟着发生改变,就是所谓引用传递

声明:关于《值传递和引用传递有什么区别》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2203649.html