我发现这个很有效(Scala代码)。
但是这个不起作用:
编译器无法解析 "b"。 这是为什么呢?在这里,"b" 和 "myClass" 有何不同? 这是否意味着 "myClass" 不是一个对象而 "b" 是一个对象?
class myClass(i:Int) {
}
val a = new myClass(1)
但是这个不起作用:
val b = a.getClass
val c = new b(1)
编译器无法解析 "b"。 这是为什么呢?在这里,"b" 和 "myClass" 有何不同? 这是否意味着 "myClass" 不是一个对象而 "b" 是一个对象?
a.getClass.newInstance()
(如果有无参构造函数),或者在你的情况下使用a.getClass.getConstructor(Integer.TYPE).newInstance(1)
。 - Thilo