java 传值与传引用
来源:互联网 发布:网页制作什么软件好 编辑:程序博客网 时间:2024/06/10 09:11
String str = "goods";
public void change(String str2){
str2="goods";
}
public static void main(String args[]){
Test t = new Test();
String str2 = "aaaa";
t.change(str2);
System.out.println(str2);
}
}
输出结果:
aaaa
并不是:
goods
change 中传的str2是变量str2的一个地址副本,并没有修改String str2的值,change函数中修改的只是副本地址的值,而非地址所指向的具体值
public class Test {
String str = "goods";
public void change(DataObj dob){
dob.setName("goods");
}
public static void main(String args[]){
Test t = new Test();
DataObj dob = new DataObj();
dob.setName("aaaa");
t.change(dob);
System.out.println(dob.getName());
}
}
class DataObj{
private String name;
private double value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getValue() {
return value;
}
public void setValue(double value) {
this.value = value;
}
}
输出结果:goods
goods
并不是:aaaa
在change函数中传入的值为dob地址副本,在change函数中修改了dob地址所指向对象的成员变量值,所以再次调用dob地址指向的对象则成员变量name值被改变
如果将change函数改为
public void change(DataObj dob){
dob=null;
}
输出结果:goods
因为change函数修改的是dob地址的副本的值,并没有修改dob地址所指向的对象成员变量,所以输出值为goods
- Java 引用和赋值 传值与传引用
- JAVA中的传值与传引用
- java传值与传引用
- Java传值与传引用
- Java传值与传引用
- Java传值与传引用
- java 传值与传引用
- java关于传值与传引用
- Java传值与传引用总结
- java传值与传引用学习
- Java传值与传引用
- Java传值与传引用
- Java传值与传引用
- Java传值与传引用
- JAVA传值与传引用
- java -- 传值与传引用
- Java的传值与传引用
- Java传值与传引用
- js 小数取整的函数
- 网络学习之Apache http server get start
- 一:UIBezierPath和CAShapeLayer简介
- 我是认真的
- 原子性与可见性
- java 传值与传引用
- FreeRTOS初步认识
- 产品特性
- 淘宝彩票移动项目开发实践
- Map集合学习笔记
- Jquery修改image的src属性,图片不加载问题
- layoutSubview的调用
- 认识Tempdb----概览和用法
- Android 多线程-----AsyncTask详解