Java:从源到目标的映射/复制具有不同的成员变量

时间:2016-09-09 21:27:51

标签: java

我有两个类Person和Employee,如下所示。

    Person{
    private String name;
    private String gender;
    private String address;
    }

    Employee{
    private String name;
    private String gender;
    }

我想将Person复制到Employee中。由于两个对象的结构不相同,如何复制对象?

1 个答案:

答案 0 :(得分:1)

为您的私有字段提供类访问器和mutator方法(通常也称为“Getters”和“Setters”)。例如。对于您的员工类:

Employee {
    private String name;
    private String gender;

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getGender() {
        return this.gender;
    }
}

这将允许您根据另一个对象的值指定一个对象的状态。例如......

employee.setName(person.getName());

有很多方法可以让这个课程变得更好。或者,您可以这样做:

Employee {
    private String name;
    private String gender;

    Employee(Person person) {
        this.name = person.getName();
        this.gender = person.getGender();
    }
}

(请注意,如果你这样做,你将失去你的无参数构造函数!)