从超类Java实例化子类

时间:2014-06-16 08:42:07

标签: java inheritance

我想尝试实例化一个Child对象,该对象使用先前实例化的父对象的属性扩展Parent。所以像这样:

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

还有其他方法可以达到这个目的吗?

1 个答案:

答案 0 :(得分:1)

首先查找多态性。您似乎不熟悉OOP语言的主要功能之一。

其次,你需要像这样实例化你的父母

Parent p = new Child();

Child c = (Child) p;