从父级创建子对象的最佳方法

Mol*_*lly 7 java inheritance downcast

在给父母提供数据的情况下,创建孩子的最佳方法是哪种?是否可以在子类上使用包含所有父值的方法:

public class Child extends Person {
  public Child(Parent p) {
    this.setParentField1(p.getParentField1());
    this.setParentField2(p.getParentField2());
    this.setParentField3(p.getParentField3());
    // other parent fields.
  }
}
Run Code Online (Sandbox Code Playgroud)

复制父数据ti子对象?

Child child = new Child(p);
Run Code Online (Sandbox Code Playgroud)

Kev*_*sox 13

我建议在父类中创建一个接受类型对象的构造函数Parent.

public class Child extends Parent {
  public Child(Parent p) {
     super(p);
  }
}

public class Parent {
   public Parent(Parent p){
      //set fields here
   }
}
Run Code Online (Sandbox Code Playgroud)

  • 从`Person`对象创建一个`Person`对象似乎有些无意义. (10认同)