Java没有引用传递只有按值传递,没有引用传递只有按值传递,值传递。
1.
public class Test {
public static void main(String[] args ){
int var = 1 ;
f(var) ;
System.out.println(var) ;
}
public static void f(int newVar ){
newVar = 2 ;
}
}
基本类型值不变,打印结果为1
2.
class MyClass {
int var1 ;
}
public class Test {
public static void main(String[] args ){
MyClass myClass = new MyClass() ;
myClass.var1 = 1 ;
f(myClass) ;
System.out.println(myClass.var1) ;
}
public static void f(MyClass newMyClass ){
myClass.var1 = 100 ;
}
}
对象属性引用传值,打印结果为100(注意:String类特殊,见3)
3
public class Test {
public static void main(String[] args ){
String var = "Hello" ;
f(var) ;
System.out.println(var) ;
}
public static void f(String newVar ){
newVar = "World" ;
}
}
打印结果为
Hello