java 值传递与引用传递的3种情况
来源:互联网 发布:languages软件 编辑:程序博客网 时间:2024/06/05 20:18
偶然又想到值传递与引用传递。 其实这东西分析下内存变化就不会搞错。 基础数据类型都是值传递,而引用类型都是引用传递。 为什么是3种情况,因为引用传递中的一小部分稍特殊了一点点。
基础数据类型(4类8种):
整型:byte,short,int,long
浮点型:float,double
字符型:char
布尔型:boolean
引用类型: 数组,类, 接口
public class ValueAndQuoteTransmit {public static void main(String[] args){int value = 11;//值传递String str = "yinyong";//引用传递Dog dog = new Dog();//引用传递dog.setName("旺财");dog.setDesc("walk.");WalkDog(dog, str, value);System.out.println("B str="+str+" ,value="+value+" ,"+dog.toString());}static void WalkDog(Dog dog,String str,int value){System.out.println("A str="+str+" ,value="+value+" ,"+dog.toString());value = 22;/** * 引用传递中特殊一点的情况:eg:String类是 final的,并且未提供改变对象内容的方法. * 修改, 其实是把引用指向新的对象(等同于dog = new Dog()这种改变)。若误理解为是改变原对象的内容就错了 */str = "引用";//主线程和WalkDog方法中的引用指向的是同一个对象,修改的只是对象的内容dog.setName("旺旺");dog.setDesc("遛狗狗。");}//结果://A str=yinyong ,value=11 ,Dog [name=旺财, desc=walk.]//B str=yinyong ,value=11 ,Dog [name=旺旺, desc=遛狗狗。]}
阅读全文
0 0
- java 值传递与引用传递的3种情况
- Java的值传递与引用传递
- java的值传递与引用传递
- java的值传递与引用传递
- Java 的引用传递与值传递
- JAVA中值传递和引用传递的三种情况
- JAVA中值传递和引用传递的三种情况
- java值传递与引用传递
- java值传递与引用传递
- Java值传递与引用传递
- java 引用传递与值传递
- Java中的值传递与引用传递
- java中的值传递与引用传递
- java值传递与引用传递
- JAVA 值传递与引用传递详解
- Java值传递与引用传递
- Java 值传递与引用传递
- Java值传递与引用传递
- bzoj 1131: [POI2008]Sta(DPS)
- 设置WxWidgets开发环境
- qt窗口关闭但不退出进程, 有两个方法
- 雷塞SMC304系列控制器VC6.0例程在VS2015下编译遇到的若干问题及解决办法
- logistic_regression_python
- java 值传递与引用传递的3种情况
- 4分钟插入1000万条数据到mysql数据库表
- Spring Aop 简单实现
- 【Linux文件目录命令】cd命令
- 【喜讯】:个人网站开通啦!
- jquery-select2实现省市区三级联动(拓展SpringMVC后台方法)
- li中的span设置float:right不生效
- 学完javaee基础,编的一个小游戏—太阳系的八大行星
- Js中的Map与Set