我是靠谱客的博主 安详鼠标,这篇文章主要介绍关于java中的参数传递问题,现在分享给大家,希望可以做个参考。

java中的参数传递方式只有值传递一种。


复制代码
1
2
3
4
5
6
7
8
1.关于基本类型的值传递 系统会复制一份实际参数值传入,所以对形参的操作不会影响实际的参数。 2.关于引用类型的值传递 系统会复制该引用变量,并通过值传递传入实参中所存的地址,使两个引用变量同时指向该对象。 由于堆内存中只有一份该对象,所以不论任一引用变量对其进行操作,都是对该对象操作。 所以会造成传入的是引用变量本身的错觉,实际上传入的是其复制品,通过值传递使其也指向了堆中的该对象。

下来看一个题:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class V{ public int i=15; } public class Test { public static void main(String[] args){ Test t=new Test(); t.first(); } public void first(){ int i=5; V v=new V(); v.i=25; second(v,i); System.out.println(v.i); } public void second(V v,int i){ i=0; v.i=20; V val=new V(); v=val; System.out.println(v.i+" "+i); } }

问题是该代码的输出结果.

这里写图片描述

复制代码
1
2
该图可以清晰的解释输出结果为15 0 20

最后

以上就是安详鼠标最近收集整理的关于关于java中的参数传递问题的全部内容,更多相关关于java中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部