比方说:
class A {
public int fieldA = 0;
}
class B extends A {
public int fieldB = 0;
}
现在,我想从 A 创建一个 B 的实例:
A a = new A();
B b = (B) new A();
这给出了一个 classCastException。我可以在 B 中创建一个带有 A 实例并复制字段的 costructor,但这显然是不切实际的:
class B extends A {
public int fieldB = 0;
B (A a){
fieldA = a.fieldA;
}
}
谢谢您的帮助