案例1:
public class hello{
public static void main(String[] args){
Employee ep1 = new Employee("hs", 30);
Employee ep2 = new Employee("zy", 29);
System.out.println("Before ep1:"+ep1.getName()+",age:"+ep1.getAge());
System.out.println("Before ep2:"+ep2.getName()+",age:"+ep2.getAge());
swap(ep1, ep2);
System.out.println("After ep1:"+ep1.getName()+",age:"+ep1.getAge());
System.out.println("After ep2:"+ep2.getName()+",age:"+ep2.getAge());
}
public static void swap(Employee x, Employee y){
Employee temp = x;
x = y;
y = temp;
y.setAge(100);
System.out.println("End of method:x="+x.getName()+",age:"+x.getAge());
System.out.println("End of method:y="+y.getName()+",age:"+y.getAge());
}
}
class Employee{
private String name;
private int age;
public Employee(String name, int age){
this.name = name;
this.age = age;
}
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.age = age;
}
}
代码分析
1、类声明都能写错,写成public Class hello(){},自己都有点无语。
2、swap方法中的x和y参数变量在方法结束时就被丢弃了。