我有两个类(我们称之为 A
和 B
),它们都继承自一个公共(public)父类(super class) (C
)。
假设我需要构建一个 C
的 List
。我的问题是,根据 C
的构造函数接收到的数据,我需要将 A
或 B
对象放入列表中。
有没有办法从 C
的构造函数内部执行此操作?或者,我该如何解决这个问题?
最佳答案
这听起来是一个使用 factory pattern 的好地方。基本上,创建一个带有返回类型为 C 的静态方法的 CFactory 类。然后该方法可以决定创建 A 或 B 并返回它。
关于java - 在运行时更改类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3415623/