假设我有以下内容:
trait SomeTrait {
def someMethod: String;
}
object SomeObject extends SomeTrait {
def someMethod = "something";
}
我希望使用反射调用“someMethod”,因为我有一个对象名称作为字符串。 类似这样:
val objectName = "SomeObject"
val someTrait:SomeTrait = ???.asInstanceOf[SomeTrait]
someTrait.someMethod
或者类似的东西。谢谢。
Class.forName(name + "$").getField("MODULE$").get(null)
就足够了。这适用于静态字段。 - 0__Class.forName(name + "$").getField("MODULE$")
处抛出了异常。 - Kevin Meredith