//测试方法可以改变对象的参数的状态
System.out.println("\nTesting tripleSalary");
Employee harry = new Employee("Harry",50000);
System.out.println("Before :salary="+harry.getSalary());
tripleSalary(harry);
System.out.println("After :salary="+harry.getSalary());
//测试方法不会让对象参数引用一个新的对象
System.out.println("\nTesting swap");
Employee a = new Employee("Alice",70000);
Employee b = new Employee("Bob",60000);
System.out.println("Before :a="+a.getName());
System.out.println("Before :b="+b.getName());
swap(a,b);
System.out.println("After :a="+a.getName());
System.out.println("After :b="+b.getName());
}
public static void tripleValue(double x){
x = 3*x;
System.out.println("End of the method: x="+x);
}
public static void tripleSalary(Employee x){
x.raiseSalary(200);
System.out.println("End of method:salary="+x.getSalary());
}
public static void swap(Employee x,Employee y){
Employee tmp = x;
x = y;
y = tmp;
System.out.println("End of the method:x="+x.getName());
System.out.println("End of the method:y="+y.getName());
}
}
class Employee{
private String name;
private double salary;
public Employee(String n,double s){
name = n;
salary = s;
}