最好在Java中,有没有一种从超类实例实例化子类的好方法?
假设我有 ClassB,它是 ClassA 的子类,这是 ClassA 的构造函数:
public ClassA(){
}
我想做类似的事情:
public class ClassB extends ClassA{
public ClassB(ClassA aClassA){
super(aClassA);
}
}
有什么方法可以轻松地从超类的实例中获取子类的实例,尤其是当子类可能只比超类多一个字段时,因此它们之间没有太大区别?
例如,
ClassA a = new ClassA();
B类b = a;
(编译器会希望我这样做: ClassB b = (ClassB)a;
......这是行不通的。)
我该怎么做呢?