java读书笔记:练习对象引用传递
2016-09-22 14:38
232 查看
java对象引用传递实践,理解对象传递和值传递
package cn.com.github; class NewObject { public StringBuffer newString() { StringBuffer buffer = new StringBuffer(); buffer = PassValue.passvalue(); return buffer; } } class NotNewObject { public StringBuffer newString() { StringBuffer buffer = null; //buffer 指向passvalue 中的buffer对象 buffer = PassValue.passvalue(); //不要上一句,直接写 //buffer.append("hello world"); //eclipse会报警告,因为这是一个引用传递 ,eclipse并没有为buffer开辟内存,也就是说没有对象。 return buffer; } } class PassValue { public static StringBuffer passvalue() { StringBuffer buffer = new StringBuffer(); //buffer 指向passvalue 中的buffer对象 //new StringBuffer()成为垃圾收集器回收的对象 buffer.append("hello world"); return buffer; } } class QuoteObject{ public StringBuffer newString() { StringBuffer buffer = null; //buffer 指向passvalue 中的buffer对象 buffer = PassValue.passvalue(); StringBuffer buffer2 = null; //buffer2 指向passvalue 中的buffer对象,复制了一份引用 buffer2 = buffer; buffer2.append("hi,guys"); return buffer2; } } public class NewOrNotObject { public static void main(String[] args) { NewObject newObject = new NewObject(); System.out.println(newObject.newString()); //hello world NotNewObject notNewObject = new NotNewObject(); System.out.println(notNewObject.newString()); //hello world QuoteObject object = new QuoteObject(); System.out.println(object.newString()); //hello worldhi guys //结论:buffer起一个引用传递的作用 } }
参考: 浅谈java对象引用和对象赋值
相关文章推荐
- 引用,数值,指针的对象传递
- 多个DLL(exe)之间通过指针或者引用传递STL对象
- Java学习笔记---6.面向对象编程01-类对象的构建及对象的引用传递
- 传引用方式传递对象
- [Java] Java参数传递,究竟值传递还是引用对象(转)
- 今天才搞清楚:原来在C#中对象作函数参数,是引用传递:)
- 18天Java学习---6.面向对象编程01-类对象的构建及对象的引用传递
- 在Java中方法参数的传递,对象是传递引用
- java传递是引用的拷贝,既不是引用本身,更不是对象
- CRITICAL SKILL9.3:PassingObjects to Functions传递对象参数给函数(值传递和引用传递的探讨)
- 【JSF心得】JAVA的对象传递是引用传递
- 【JSF心得】JAVA的对象传递是引用传递
- 【JSF心得】JAVA的对象传递是引用传递
- 在Java中方法参数的传递,对象是传递引用
- 两个aspx页面间传递引用对象。
- CSharp Tips:以整数的形式传递对象引用
- java传递是引用的拷贝,既不是引用本身,更不是对象
- 两个aspx页面间传递引用对象
- Java函数传递对象与C++传递引用
- php 数组 类对象 值传递 引用传递 区别