谁能告诉我什么是传引用?最好举个简单的例子,本人刚学java!谢谢前辈了
解决方案 »
- [散分贴]关于java中的注释
- 关于Swing的几个问题,希望各位解答!
- 大家来谈谈掌握java的基本功
- 寻求一个支持metapost 的java package。。。有知情者回复
- TM?
- 寻求帮助
- 请问 在jasperreport中的报表 发布到web上,如果是html格式,看不到表格线
- resin 加 apache之后建虚拟主机?(在线等待!)
- 请问:初学Java应该如何下手
- 在不停止现有的业务上,如何完成数据库的更换,大家帮帮忙
- 麻烦向各位大师问一下:我编的这个LayoutUtil.java源文件有什么错误?
- 我现在有一个应用,因为某些限制,需要调用另外一个可执行的.jar程序,可以吗?
比如说,如果b是a的引用,则,a与b的值是相同的,但是b并没有新开辟相应的内存空间来存储数据,而只是把类似“指针”的东西指向了a的地址,才貌似得到a的值。如果要例子的话,比较典型的是String这个类,不过就是有个池的概念,你倒是不用理他
Object b = null;
b = a;
执行上面的代码后a和b指向同一块内存如下图
第一行:a----〉内存
new object()
第二行:b----〉null
第三行:a----〉内存
b----> new object()
不知道你是不是问这个,a中存放的是一个对象的内存首地址,a=b后b中存放着和a同样的内存地址,所以指向同一块内存,是同一个对象
String a = "Fuck Japanese";
String b = a;
输出a和b;
a = "Chinese Fuck Japanese";
再输出a和b;输出结果是:
a: Fuck Japanese
b: Fuck Japanese
a: Chinese Fuck Japanese
b: Fuck Japanese
public static void f(Test y){
System.out.println(y.toString());
}
public static void main(String args[]) {
Test t =new Test();
System.out.println(t.toString());
f(t);
}
}
这是书上的例子,t,y指向同一个对象,方法f中传的就是引用。
对于基本数据类型如int等使用传值策略,其它都是传引用。传引用时将引用复制一份传入方法,但是指向的还是原对象。在方法中可以将引用指向另一个对象,却不能改变原对象。