鉴于以下内容:
scala> trait Parent
trait Parent
scala> class Foo[A <: Parent](implicit m: scala.reflect.Manifest[A]) {}
defined class Foo
我创建了一个新实例。
scala> new Foo()
res1: Foo[Nothing] = Foo@226f1597
然后尝试Class#newInstance
但没有成功。
scala> res1.getClass
res2: Class[_ <: Foo[Nothing]] = class Foo
scala> res1.getClass.newInstance
java.lang.InstantiationException: Foo
at java.lang.Class.newInstance(Class.java:364)
对于manifest
的班级,有没有办法使用Class#newInstance
?
(我问我的参数化类(带有清单)扩展akka.microkernel.Bootable
,这需要一个无参数的构造函数。)