Java中值传递和引用传递的区别

原创
2020/12/07 15:14
阅读数 77

一:值传递

解释:实参传递给形参的是值 形参和实参在内存上是两个独立的变量 对形参做任何修改不会影响实参

代码示例如下:

复制代码 package arrayDemo; public class Demo1 { public static void main(String[] args) { int b =20; change(b);// 实参 实际上的参数 System.out.println(b); } public static void change(int a){//形参 形式上的参数 a=100; }

二:引用传递

实参传递给形参的是参数对于 堆内存上的引用地址 实参和 形参在内存上指向 了同一块区域 对形参的修改会影响实参

复制代码 package arrayDemo; public class Demo1 { public static void main(String[] args) { int [] a={1,2,3}; System.out.println(a[0]); change(a); System.out.println(a[0]); } public static void change(int[] a ){ a[0]=100; } } 复制代码 结果:1 100

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部