public class Test2{
public static void print(Object a,Object b){
System.out.println(a.toString()+b.toString());
}
public static void swap(String a,String b){
String temp=a;
a=b;
b=temp;
System.out.println(a);
System.out.println(b);
}
public static void swap(Object[] object){
Object temp=object[0];
object[0]=object[1];
object[1]=temp;
System.out.println(object[0]);
System.out.println(object[1]);
}
public static void main(String[] args) {
String a = "A";
String b = "B";
Integer c = Integer.valueOf(0);
/**
* parseInt()
* valueOf()
*/
swap(a,b);
print(a,b);
Object[] objects=new Object[]{b,c};
swap(objects);
print(objects[0],objects[1]);
}
}
- 值传递 : 传递的是值得拷贝(副本), 传递之后就互不干扰了.(对于基本数据类型)
-
结果:test方法中的i的值为:5public class Test4 { /** * @param args * 值传递和引用传递 */ private static void testValues(int i){ i = 5; System.out.println("testValues方法中的i的值为:"+i); } public static void main(String[] args) { // TODO Auto-generated method stub int i = 10; Test4.testValues(i); System.out.println("main方法中i的值为:"+i); } }
main方法中i的值为:10 - 引用传递 : 传递是变量所对应的内存空间的地址
-
结果: test1方法中的age=20public class Test5 { private void test1(A a){ a.age = 20; System.out.println("test1方法中的age="+a.age); } public static void main(String[] args) { Test5 t = new Test5(); A a = new A(); a.age = 10; t.test1(a); System.out.println("main方法中的age="+a.age);} } class A{ public int age = 0; }
main方法中的age=20