我有这样的课程:
class NormalClass[T <: NormalClass[T]] {
object One
object Two
}
我希望能够在类型化特征中创建上述类的新实例。MetaClass 中的以下内容def make
创建了 T 的实例,但它缺少与 NormalClass 关联的内部对象。
trait MetaClass[T <: NormalClass[T]] {
def make:T = this.getClass.getSuperclass.newInstance.asInstanceOf[T]
}
我有两个问题,丢失对象的原因是什么,以及使用反射来启动具有来自其类型的内部对象的新类的最佳方法是什么
编辑:更多细节
我面临的问题是,如果我使用 make eg 创建一个实例var f = make
并尝试访问和对象方法 egfOne.getSomething ,我会收到错误消息value One is not a member of type parameter T
。