Java中值传递和引用传递
来源:互联网 发布:网上购物系统源码 编辑:程序博客网 时间:2024/05/17 17:39
Java中值传递和引用传递
Java中参数的传递是值传递,而不是引用传递。
对于基本数据类型和String字符串类型(按照String s="hello"这种形式定义的字符串),在作为参数被传递的时候,传递的是类型对应的值的拷贝,也就是说,不是对原来的值进行操作,例如int a=1;在经过add(int a){a++}这个方法之后,a的值还是1。这里要注意,这两个a是不相同的,两个a对应的是两个存储单元,只不过将第一个a的存储单元的值复制给了第二个a的存储单元,方法中操作的是第二个a对应的存储单元中的值,所以,无论怎么操作,第一个a对应的存储单元的值始终是1。
对于Java中的引用数据类型,在作为参数被传递的时候,传递进来的是引用对应的地址的值的拷贝。例如Person p = new Person(); 经过add(Person p){p.age++}这个方法之后,发现p对象的age确实加了1。跟上面基本数据类型不同的是,这里传递的并不是引用p对应的对象的拷贝,而是引用p对应的地址的拷贝,上面两句代码的两个p是不同的,只不过两个p都拥有相同的地址,因为在传递的时候,是将第一个p的地址值的拷贝传递给了第二个p,所以第二个p跟第一个p对应的是同一个内存中的对象,多以操作第二个p的时候,会真实的操作该对象,对象自然发生了变化。
0 0
- java中值传递 和 引用传递
- java中值传递和引用传递
- java中值传递和引用传递辨析
- Java中值传递和引用传递问题
- java中值传递和引用传递
- Java中值传递和引用传递
- java中值传递和引用传递
- java中值传递和引用传递
- Java中值传递和引用传递实例
- Java中值传递和引用传递
- java中值传递和引用传递
- Java中值传递 引用传递
- 复习:java中值传递和引用传递(java基础教程)
- java中值传递和引用传递出现区别的原因
- java中值传递和引用传递的区别
- 再次学习java语言中值传递和引用传递
- JAVA中值传递和引用传递的三种情况
- java中值传递和引用传递的区别
- TexturePacker(TP) 命令行打包资源心得
- iOS 秒数转换成时间,再加上时区偏移量
- PHP的闭包
- 进一步认识DTO
- 关于iOS App的版本号
- Java中值传递和引用传递
- 基于maven整合SSH
- ubuntu---------安装 JDK
- JVM的重排序
- windows 7安装问题 无法定位到系统分区 + 展开文件时出现网络问题(错误代码:0x80070005)+ win8安装 找不到分区
- PHP操作xml示例代码
- 2015年 新的开始
- 擦撒擦拭擦擦拭
- UVa #1601 The Morning after Halloween (例题7-9)