Kotlin如何创建一个可以动态实例化的类列表



我想要一个类的列表,这些类稍后可以在程序中实例化。类似于:

val someClasses = listOf(ClassA, ClassB, ...)
for (myClass in someClasses) {
val myObject = myClass()
myObject.doSomething()
}

当然它不起作用。有可能在科特林做这样的事情吗?

您可以有一个创建所述类实例的函数列表。

最简单的方法是使用语法::ClassName引用这些类的构造函数。因此,将此应用于您的示例,假设这些类没有arg构造函数:

val someClassConstructors = listOf(::ClassA, ::ClassB, ...)
for (myConstructor in someClassConstructors) {
val myObject = myConstructor()
myObject.doSomething()
}

以上假设您的所有类都实现了一个具有doSomething()方法的公共接口。

相关内容

  • 没有找到相关文章

最新更新