Java到底是值传递还是引用传递?
来源:互联网 发布:金融随机分析 知乎 编辑:程序博客网 时间:2024/05/14 20:55
值传递与引用传递:
Java到底是引用传递还是值传递,之前我看过一些介绍,但是好记性不如烂笔头,时间长了最近看到居然又忘了,所以现在记下来,方便以后查看。
既然说到值传递和引用传递,那么到底什么才是值传递,引用传递又是什么呢?
值传递,简单来说就是在操作前对值进行了拷贝,然后两部分操作的就是完全无关的两部分内容了。
public class TempTest { private void test1(int a){ a = 5; System.out.println("test1方法中的a="+a); } public static void main(String[] args) { TempTest t = new TempTest(); int a = 3; t.test1(a);//传递后,test1方法对变量值的改变不影响这里的a System.out.println(”main方法中的a=”+a); } }
运行结果:
test1方法中的a=5 main方法中的a=3
引用传递,同样很简单,就是说传递了对对象的引用,也就是地址。进而操作的就是同一片内容,因而执行改动操作就会真正修改原内容了。
public class TempTest { void test1(A a){ a.age = 20; System.out.println("test1方法中的age="+a.age); } public static void main(String[] args) { TempTest t = new TempTest(); A a = new A(); a.age = 10; t.test1(a); System.out.println(”main方法中的age=”+a.age); } } class A{ public int age = 0; }
运行结果:
test1方法中的age=20 main方法中的age=20
至于在Java中到底是值传递还是引用传递,我的想法是这样的:
Java只有值传递,没有引用传递:普通变量是直接传递的变量的副本,而若是类做参数,则会拷贝栈中的引用地址,指向堆中的同一片地址,操作同一片内容。但是论其本质,还是值传递,毕竟复制了栈中的内存地址嘛
0 0
- Java参数传递到底是值传递还是引用传递?
- 到底是值传递还是引用,Java
- Java中到底是值传递还是引用传递?
- Java-String 到底是值传递还是引用传递
- Java里到底是引用传递还是值传递
- Java到底是值传递?还是引用传递?
- Java到底是值传递还是引用传递
- java到底是值传递还是引用传递
- Java到底是值传递还是引用传递?
- Java:到底是值传递还是引用传递
- java到底是值传递还是引用传递?
- Java到底是值传递?还是引用传递?
- Java中到底是值传递还是引用传递?
- java到底是值传递还是引用传递?
- java到底是值传递还是引用传递
- java到底是值传递还是引用传递?
- java中到底是值传递还是引用传递?
- java到底是值传递还是引用传递?
- Trie树介绍与动态构造->HDU1251
- Template<class T>函数模板
- 使用Loadrunner 调用Webservice接口测试优化总结
- 【Android学习笔记】canvas drawText居中问题
- 一些博客地址
- Java到底是值传递还是引用传递?
- 国标建筑结构分类
- jsp 日期格式化
- Find a way
- env中调用python或perl
- 剑指offer53--判断对称二叉树
- UITextField 点击事件 --- 不触发键盘弹出,而触发其他事件的实现
- JAVA全排列算法
- 搭建nginx反向代理用做内网域名转发