我需要在伴侶對象中定義一個val,該伴隨對象使用將伴隨類作爲參數的方法進行初始化。Scala:在伴侶對象中獲得伴侶類
我想處理這與特點不要重複自己。我的問題是,X.getClass與classOf [X]不一樣。第一個是伴隨對象的類,第二個是伴隨類的類,但我需要直接獲取伴隨類而不對其進行硬編碼。
基本上,我需要這樣的:
trait Foo {
}
object FooCompanionObject[f <: Foo] {
val fClazz = classOf[f]
}
// Bar's fClass should be classOf[Bar]
case class Bar extends Foo;
object Bar extends FooCompanionObject[Bar];
的問題是,我不能讓這個類由於類型擦除
爲什麼要向對象添加泛型類型聲明。沒有任何意義。 – cmbaxter
我的對象將有一些方法返回f。 – maklemenz