Java - 将var类型更改为子类而不会丢失字段值

时间:2014-10-21 18:09:15

标签: type-conversion

我对Java有疑问:

现在,我有一个名为 Property 的主类,以及一些扩展它的类,例如 PropertyFoo 。因此, Property 类有一个名为 name 的字段。 所以,我需要做这样的事情:

Property boo = new Property();
boo.name = 23;
if (someCondition) {
    boo = new PropertyFoo();
}

但是我需要boo,现在是 PropertyFoo ,要有旧的名称 var,所以如果现在我调用boo.name它会返回23.是否存在任何方式这样做? 谢谢! :d

1 个答案:

答案 0 :(得分:1)

创建自定义构造函数并将其传递给要保留的字段的值,并将其分配给自定义构造函数中新对象中的相同字段。

PropertyFoo中有类似的东西:

public PropertyFoo(int name){
    this.name = name;
}

呼叫:

PropertyFoo foo = new PropertyFoo(boo.name);