java程序设计语言采用的是按值传递的调用方法。

java程序设计语言采用的是按值传递的调用方法。方法得到的是所有参数值的一个拷贝,特别是,方法不能修改传递给他的任何参数变量的内容。

package test;

import java.util.Date;
public class Employee {
    private String name;
    private double salary;
    private Date hireDay;
    private static int nextId = 1;
    private int id;
    public Employee() {
    }
    public Employee(String name, double salary, Date hireDay) {
        this.name = name;
        this.salary = salary;
        this.hireDay = hireDay;
        this.id = nextId++;
    }

    public String getName() {
        return name;
    }

    public static void swap(Employee e, Employee e2) {
        Employee t =e;
        e = e2;
        e2 = t;
    }

    public static void main(String[] args) {
        Employee emp = new Employee("hst",50,new Date());
        Employee emp1 = new Employee("hstt",50,new Date());

        System.out.println(emp.getName()+","+emp1.getName());//结为//hst,hstt
    }
}

swap()方法并没有改变额emp、emp1的对象引用。swap()方法的参数是对两个对象的引用拷贝,这个方法交换的是这两个拷贝。

你可能感兴趣的:(java程序设计语言采用的是按值传递的调用方法。)