使用反射复制构造函数

tux*_*uxx 5 java reflection clone copy-constructor

我有一个包含100个字段的Base类和一个包含2个字段的Derived类.我希望通过调用Base类中的getter来在Derived类中访问所有100个字段,这就是为什么我使用继承而不是组合.在Derived中我想要一个构造函数来初始化Base的所有内容:

class Base {
  ... // 100 fields.
}

class Derived extends Base {
  ... // 2 more fields.
  Derived (Base base) {
    ... // Initialize here all 100 fields from base. Don't care about my 2 fields, can have default values.
  }
}
Run Code Online (Sandbox Code Playgroud)

Jor*_*e_B 7

如果你需要从其他具有相同属性(或多或少)的bean填充bean,你肯定可以在这里找到一些东西:

http://commons.apache.org/proper/commons-beanutils/

特别

http://commons.apache.org/proper/commons-beanutils/javadocs/v1.9.1/apidocs/org/apache/commons/beanutils/BeanUtils.html

我想BeanUtils.copyProperties(Object orig, Object dest)你会做你需要的东西而没有复制你所有领域的负担.