/**
* @author zhangyongzhi E-mail:zhangyonzhi@163.com
* @version 创建时间:Dec 15, 2008 7:55:31 AM
* 对java中方法参数的练习.
* java中的方法参数有这么几个特点:
* 1.方法不能修改基本类型的参数
* 2.方法可以修改对象参数的状态
* 3.方法不能让对象参数指向新的对象.
*/
public class TestClass {
public static void main(String args[]) {
String str = new String("World");
char ch[] = { 'H', 'e', 'l', 'l', 'o' };
change(str, ch);
// System.out.println(str + " and " + ch);
System.out.print(str + " and ");
System.out.println(ch);
People a = new People("zhang", 25);
People b = new People("lili", 24);
change(a, b);
//参数 a, b 只是对象a, b 引用的一份拷贝,指向原来对象.参数a只是存放了对象a的引用的值,它
//的物理地址跟b不一样. 就相当于: int a = 5; int b = a; 一样, b=5, b跟a完全是两个变量.
System.out.println(a.name);
change(a);
System.out.println(a.name);
}
public static void change(String str, char ch[]) {
str = "Changed";
ch[0] = 'C';
}
public static void change(People x, People y) {
People temp = x;
x = y;
y = temp;
}
public static void change(People x) {
x.name = "zhyzh";
x.age = 20;
}
}
class People {
public String name;
public int age;
public People(String name, int age) {
this.name = name;
this.age = age;
}
}
输出结果:
World and Cello
zhang
zhyzh