如何将超类对象值复制到子类对象值?

我想将超类对象getter复制到子类对象setter。 但是我怎么能这么做呢。 我正在寻找像克隆这样的东西。 你能请我帮我找到吗?

非常感谢你。

一个简单的代码:

超级课程:

public class SuperClass1{ private String name; private String surname; public void setName(String name){ this.name=name; } public String getName(){ return this.name; } public void setSurname(String surname){ this.surname=surname; } public String getSurname(){ return this.surname; } } 

子类

 public class SubClass1 extends SuperClass1{ private float gpa; public void setGpa(float gpa){ this.gpa=gpa; } public float getGpa(){ return gpa; } } 

和来电class:

 public class CallerClass1{ public static void main(String[] args){ SuperClass1 super1=new SuperClass1(); SubClass1 subclass1=new SubClass1(); //How to subclass1 object values easily taken from super1 } } 

}

如果性能不是问题,您可以使用reflection将所有属性从一个类复制到另一个类。

请查看此链接以解释如何执行此操作的其他问题:

通过reflection将所有值从一个类中的字段复制到另一个类

这个其他链接将为您提供代码,而不使用BeanUtils:

http://blog.lexique-du-net.com/index.php?post/2010/04/08/Simple-properties-Mapper-by-reflection

我总是在我的项目中使用这种function。 真有用。