证明java只有值传递
2013-11-24 22:53
190 查看
有很多java初学者(尤其是学习过其他语言的人)都会误以为java中有两种参数传递方式,其实java中只有一种传递方式——”值传递“。不论是对基本类型变量的引用还是对对象的引用实际上都是引用它们的拷贝。
对于基本数据类型可用以下代码证明:
对于基本数据类型可用以下代码证明:
public class ValueTest { public static void main(String[] args) { int a = 1; int b = 2; Swap s = new Swap(); s.swap(a,b); System.out.printf("a = %d\nb = %d",a,b); } } class Swap { void swap(int x,int y) { int temp = y; y = x; x = temp; } }对于对象可用以下代码证明:
public class ValueTest { public static void main(String[] args) { Test a = new Test(512); Test b = new Test(123); Swap s = new Swap(); s.a(a,b); a.p(); b.p(); } } class Swap{ void a(Test x,Test y) { Test temp = x; x = y; y = temp; } } class Test{ Test(int c) { n = c; } void p() { System.out.println(n); } private int n = 0; }
相关文章推荐
- Java 只有值传递(Pass By Value),没有引用传递(Pass By Reference)
- JAVA参数没有引用传递,只有值传递
- 为什么 Java 只有值传递,但 C# 既有值传递,又有引用传递,这种语言设计有哪些好处?
- Java中只有按值传递,没有按引用传递!(两种参数情况下都是值传递)
- JAVA的值传递还是引用传递——只有值传递
- java方法中只有值传递,没有引用传递
- JAVA参数没有引用传递,只有值传递
- java只有值传递!
- Java语言中没有引用传递,只有值传递。到底对不对?
- java只有值传递
- java学习笔记-java只有值传递
- java中只有值传递,没有址传递
- Java中只有值传递,没有引用传递
- Java中只有值传递,没有引用传递
- java中只有值传递,没有引用传递
- java只有值传递的结论
- 【转】JAVA只有值传递
- Java中没有引用传递只有值传递(在函数中)
- Java 中只有值传递
- Java中只有值传递,没有引用传递 !