我想尝试实例化一个Child对象,它使用先前实例化的父对象的属性扩展了Parent。所以像这样:从超类Java实例化子类Java
class Parent {
ClassName property1;
// Setters and getters
}
class Child extends Parent {
public Child(Parent parent) {
this.property1 = parent.getProperty1();
// + other properties
}
}
Parent parent = new Parent();
parent.setProperty1(prop);
Child object = (Child)parent; // Casting exception
Child object2 = new Child(parent); // This is not ideal
是否有任何其他方式来实现这一目标?
听起来像生成器模式可能是使用的... – awksp
我认为你不能将其向下转换子 –
为什么你会做这个.property1 = parent.getProperty1();?如果你创建了一个孩子,并且你的父母有一个公共方法,那么你可以通过孩子访问你父母的所有属性(因为孩子*是一个父母) – Pphoenix