3
我喜歡定義一個返回一個Class對象的工廠方法,例如創建gui對象。如何返回一個子類的類
我這樣定義
def getWorkerClass2[T <: Component]():Class[T] = {return classOf[Frame]; }
它返回組件的類的子類的方法,但斯卡拉編譯器與
type mismatch;
found : Class[java.awt.Frame](classOf[java.awt.Frame])
required: Class[T]
def getWorkerClass2[T <: Component]():Class[T] = {return classOf[Frame]; }
^
抱怨,我不知道爲什麼。
編輯: 我使用Scala的2.10
當嘗試編譯方法2,我會得到相同的編譯錯誤,如我在我的問題得到:重寫方法getWorkerClass2類型[T <:java.awt.Component] => Class [T]; 方法getWorkerClass2具有不兼容的類型 def getWorkerClass2 [T <:Component]:Class [Frame] = classOf [Frame] ^ – user2706510
哦,對不起,我認爲它錯了,當它認爲它會工作:)請參閱我已編輯的答案 – serejja