【发布时间】:2016-04-06 12:13:18
【问题描述】:
这不是一个常规问题,请听我解释。
我有一个 Animal 类的对象。如何将其转换为其子类Cat?像这样:
Animal a = new Animal();
Cat c = (Cat) a;
当然,我知道直接从Animal 转换为Cat 是不可能的。但我不想手动创建一个新的Cat 并将Animal 中的字段复制到它。因为有时我有很多需要转换的类层次结构。一般怎么解决?
【问题讨论】:
-
为什么它们首先是 Animal 实例?如果您可以首先将它们创建为 Cats,那将解决您的问题。
-
以
Animal c = new Cat();开头? -
@guitarsteve 不幸的是,我确实在考虑一个不寻常的问题。不像你说的那样。
-
@cricket_007 不幸的是,我确实在考虑一个不寻常的问题。不像你说的那样。
标签: java oop class-hierarchy