引用传递
2014-03-06 23:02
26 查看
class Tank { int level; public Tank(int level){ this.level = level; } } public class Assignment { public static void main(String[] args) { Tank t1 = new Tank(9); Tank t2 = new Tank(47); System.out.println("t1.level: " + t1.level + ", t2.level: " + t2.level); //t1现在指向t2对象 t1 = t2; System.out.println("t1.level: " + t1.level + ", t2.level: " + t2.level); //修改t1的同时也修改了t2 t1.level = 36; System.out.println("t1.level: " + t1.level + ", t2.level: " + t2.level); //传递给f()函数的是t1的引用,而不是t1的副本 f(t1); System.out.println("t1.level:"+t1.level + ", t2.level: " + t2.level); } public static void f(Tank tank) { tank.level = 5; } } //如果只想改变t1的level值而不影响t2的值,可以这样调用 // t1.level = t2.level //但直接操作对象的属性违背面向对象程序设计的原则
相关文章推荐
- JavaScript 函数参数传递到底是值传递还是引用传递
- JAVA值传递or引用传递
- C/C++中的函数参数传递机制_指针_引用
- 第二十一天 引用传递深入
- c++中参数传递的三种方式,以及用法。传值,传址,传引用
- c++中的值传递,引用传递,指针传递的区别?
- 参数传递(值传递与引用传递)
- 函数对象状态(Function Object State)获取 -- 引用传递和for_each()
- 自定义类型只能按引用传递byref
- Java按值传递与按引用传递
- Java 中值传递与引用传递的区别
- 值传递,指针传递 ,引用传递的总结
- 传递与引用
- JavaScript中函数参数的值传递和引用传递
- Java值传递和引用传递【待完善】
- C++ 值传递、指针传递、引用传递详解
- java引用传递和c地址传递
- C++中引用传递与指针传递区别
- Java中值传递与引用传递
- 值传递与引用传递 实例