Java基础之对象的引用传递与对象的值传递
2017-04-28 15:05
344 查看
package test; import org.junit.Test; public class ObjectAndValue { @Test public void test1(){ //变量传递赋值时,是传递的值的对应地址,而不是变量的地址 String s1 = "aa"; String s2 = "bb"; s2 = s1; System.out.println("s1:"+s1); System.out.println("s2:"+s2); s1="cc"; System.out.println("s1:"+s1); System.out.println("s2:"+s2); System.out.println("这是因为变量传递赋值时,是传递的值的对应地址,而不是变量的地址"); //对象(或者引用)传递赋值时,实际传递的是这个对象的存储地址 StringBuffer sb1 = new StringBuffer(); sb1.append("aaa"); StringBuffer sb2 = new StringBuffer(); sb2.append("bbb"); sb2 = sb1; System.out.println("s1:"+sb1); System.out.println("s2:"+sb2); sb1.append("ccc"); System.out.println("s1:"+sb1); System.out.println("s2:"+sb2); System.out.println("这是因为对象(或者引用)传递赋值时,实际传递的是这个对象的存储地址"); } int i = 1; public static double ddddd = 50.0; String s = "ceshi"; StringBuffer sb = new StringBuffer("test"); public void testvalue(int i,String s,StringBuffer sb ,double ddddd){ i = 20; ddddd = 66.6; s = "ts"; sb.append("ts"); } public void testvalue2(){ sb = new StringBuffer("ttttttt"); sb.append("ts"); } @Test public void test2(){ System.out.println(i); System.out.println(ddddd); System.out.println(s.hashCode()); System.out.println(s); System.out.println(sb.hashCode()); System.out.println(sb); this.testvalue(i,s,sb,ddddd); System.out.println("---testvalue----"); System.out.println(i); System.out.println(ddddd); System.out.println(s.hashCode()); System.out.println(s); System.out.println(sb.hashCode()); System.out.println(sb); this.testvalue2(); System.out.println("---testvalue2----"); System.out.println(sb.hashCode()); System.out.print(sb); } }
相关文章推荐
- Java基础(极客)——11、Java面向对象中引用的传递
- Java面向对象基础--引用传递分析
- 小example说明java的值传递和引用传递,基础变量和对象在内存里的区别,堆栈
- 【JSF心得】JAVA的对象传递是引用传递
- 【JSF心得】JAVA的对象传递是引用传递
- Java中方法调用参数传递的方式是传值,尽管传的是引用的值而不是对象的值。(Does Java pass by reference or pass by value?)
- java中传递基础数据类型值与传递数组引用变量给方法的不同之处
- java面试题解惑:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
- java传递是引用的拷贝,既不是引用本身,更不是对象
- Java函数传递对象与C++传递引用
- java基础学习笔记第三天 this . static 的用法和值传递,引用传递
- JAVA基础——对象与引用概念(转载)
- 对象引用是怎样严重影响垃圾收集器的-Java基础-Java-编程开发
- Java基础复习笔记 对象状态、引用种类、垃圾回收形式02
- java基础教程-对象的传递与返回
- 【JSF心得】JAVA的对象传递是引用传递
- 第2章 Java编程基础——FAQ2.14 变量之间传值时可分为值传递和引用传递, 那么它们有何区别?
- 在Java中方法参数的传递,对象是传递引用
- Java 把对象作为参数传到一个方法里,这个是值传递还是引用传递, 为什么结果这么怪?
- Java基础11 对象引用