Java参数在方法中的传递
来源:互联网 发布:索金十数据官网 编辑:程序博客网 时间:2024/05/16 17:09
实际代码
public class demo8 { void fun1(int i, int j) { i = i + 5; j = j + 5; System.out.println("fun1-i:" + i); System.out.println("fun1-j:" + j); } void fun1(P y) { y.i = y.i + 5; y.j = y.j + 5; System.out.println("fun1-y-i:" + y.i); System.out.println("fun1-y-j:" + y.j); } public static void main(String[] args) { demo8 x = new demo8(); int i = 10; int j = 20; x.fun1(i,j); System.out.println("main-i:" + i); System.out.println("main-j:" + j); System.out.println("================"); P y = new P(); y.i = 10; y.j = 20; x.fun1(y); System.out.println("main-y-i:" + y.i); System.out.println("main-y-j:" + y.j); }}class P { int i; int j;}
具体的解析
当方法中参数是基本类型时:
在栈区储存
在栈区中创建参数的副本
对副本进行操作
结论:基本类型的值在操作后原始的值并没有改变
当方法中参数是类类型(引用类型)时:
在栈区储存类(对象)在堆区的地址,在堆区储存具体的类的属性和方法
在栈区创建类在堆区的副本,并且这个副本还是指向之前的堆区地址
对类在堆区储存的属性和方法进行操作
结论:类类型的值在操作后,原始的值会发生变化
阅读全文
0 0
- JAVA参数在方法中的传递过程
- Java参数在方法中的传递
- Java参数在方法中的传递
- 解释参数在方法中的传递过程
- 解释参数在方法中的传递过程
- C++的引用传递、指针传递参数在java中的相应处理方法
- Java方法中的参数传递方式
- java中的方法参数的传递机制
- java中的方法参数传递机制---值传递
- java中的参数传递
- java中的参数传递
- Java中的参数传递
- java中的参数传递
- Java中的参数传递
- java中的参数传递
- java中的参数传递
- JAVA中的参数传递
- java中的参数传递
- C++ 最长公共子序列
- docker-reviewboard
- 38.Oracle杂记——Oracle常用动态视图v$statname
- Lua UnPack函数用法
- Linux中添加硬盘并挂载
- Java参数在方法中的传递
- [题解] NOIP2015 货车运输(最大生成树+LCA)
- Python基础(六)
- 39.Oracle杂记——Oracle常用动态视图v$sysstat
- LeetCode 123: Best Time to Buy and Sell Stock 3 解题与思考
- 高性能MySQL:第一章 MySQL架构与历史
- 怎么查看Oracle是11g还是10g
- 深入理解android Handler机制
- TensorFlow官方文档中文版-笔记(一)