我有两个类 Person 和 Employee ,如下所示。
Person{
private String name;
private String gender;
private String address;
}
Employee{
private String name;
private String gender;
}
我想将 Person 复制到 Employee 中。由于两个对象在结构上不相等,如何复制对象?
最佳答案
为类的私有(private)字段提供访问器和修改器方法(通常也称为“Getters”和“Setters”)。例如。对于您的 Employee 类:
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();
}
}
(请注意,如果您这样做,您将丢失无参构造函数!)
关于Java:从源映射/复制到具有不同成员变量的目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39419951/