java在单个for循环中创建不同类的新对象
我对编程有点陌生,我被卡住了。假设我在一个项目中有五个不同的类:foo1、foo2、foo3、foo4和foo5,它们都做不同但相似的事情。现在假设我需要为每个对象创建一个新对象,比如: foo1 bar1=新的foo1(); foo2 bar2=新的foo2(); foo3 bar3=新的foo3(); 等等 当然这是可行的,但如果我能在一个for循环中实例化我需要的所有对象,或者至少把我想要创建的所有对象放在一个数组中进行处理,我真的想找到一种节省大量空间的方法。如果是同一个班级,我可以让它工作,但如果是不同的班级,就不行。有可能吗
# 1 楼答案
听起来factory method pattern就是你要找的
您试图以多态方式处理的任务与通常的有点不同,因为实例化通常需要您知道要创建的对象的具体类型。工厂会允许你这样做
首先,您需要确保要实例化的类型来自同一个接口:
然后可以定义工厂类型:
创建返回不同类型
Foo
的FooFactory
实现:将这些工厂存储在阵列中:
然后在数组中循环,对每个工厂调用
createFoo()
:# 2 楼答案
如果类名按顺序排列,则可以使用以下命令:
但由于所有对象都是异构的,因此数组必须是
Object[]
类型# 3 楼答案
试着阅读一些关于多态性的知识,这些知识可以在Java中使用。接口和抽象类是如何工作的。Java和其他语言中的
extends
和implements
关键字是什么我发现这些教程看起来不错:
TutorialsPoint polymorphism
Oracle polymorphism