谁能告诉我什么是传引用?最好举个简单的例子,本人刚学java!谢谢前辈了
解决方案 »
- 获得当前日期是今年的第几周?
- 请大家指教.急等
- 软件学习上遇到懊恼的事!帮帮我打开心结~
- 看过<<CORE JAVA>>的朋友进来帮个忙,有个例题搞不懂?
- File 高人请进 --> 如何将新建文件存放到指定的新建目录下, 文件和目录已创建, 就是不知道该怎么放
- 菜鸟问问题:如何读取文本框内容?
- JTabel中有多行数据,但是只有第一行数据能插入到数据库中的表中
- Runtime.exec 问题
- 大家对JAVA国际化问题有什么好的建议,好的资料,请进!
- jb的问题!!
- 麻烦向各位大师问一下:我编的这个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等使用传值策略,其它都是传引用。传引用时将引用复制一份传入方法,但是指向的还是原对象。在方法中可以将引用指向另一个对象,却不能改变原对象。