2011-12-12 17 views
6

スーパークラスのオブジェクトゲッターをサブクラスのオブジェクトセッターにコピーしたいと思います。しかし、どうすればこれを簡単に行うことができますか?私はクローンのようなものを探しています。あなたは私がそれを見つけるのを助けてくれますか?スーパークラスのオブジェクト値をサブクラスのオブジェクト値にコピーする方法は?

ありがとうございました。

シンプルコード:

スーパークラス:

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; 
    } 


} 

と発信者クラス:

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 
    } 
} 

}

+0

私はこの質問が悪い質問ではないと思います。あなたは良い質問があれば尋ねると私は答えます – olyanren

+0

いいえdownvote。質問は悪くないかもしれませんが、尋ねるスタイルは..です! – Mudassir

+0

@ムッダスルはそうかもしれない。しかし、私は質問をより単純に言葉を読んで退屈することなく質問したかったのです。 – olyanren

答えて

6

ここでパフォーマンスが問題にならない場合は、あるクラスのすべてのプロパティをリフレクションを使用して別のクラスにコピーできます。

チェックにそれを行う方法を説明し、この他の質問へのリンク:使用々BeanUtilsせず、

Copy all values from fields in one class to another through reflection

この他のリンクはあなたのコードを提供します:

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

I私のプロジェクトでは常にこの種の機能を利用しています。本当に便利です。

+0

ありがとうありがとう:)これは私が探しているものです – olyanren

+0

Jonathan、BeanUtilsでスーパークラスのフィールドをコピーすることは可能ですか? – Don

関連する問題