0
我想在父類的父級上調用方法。我幾乎可以肯定這是可能的,但下面產生一個錯誤:訪問超級超類中的方法
import javax.swing.undo._
def test(name: String): CompoundEdit = new CompoundEdit {
override def getPresentationName : String = name
override def getUndoPresentationName: String =
super[AbstractUndoableEdit].getUndoPresentationName
override def getRedoPresentationName: String =
super[AbstractUndoableEdit].getRedoPresentationName
}
編譯器說AbstractUndoableEdit
不是一個父類的CompoundEdit
(這是wrong):
<console>:55: error: AbstractUndoableEdit does not name a parent class of <$anon: javax.swing.undo.CompoundEdit>
override def getUndoPresentationName: String = super[AbstractUndoableEdit].getUndoPresentationName
^
<console>:56: error: AbstractUndoableEdit does not name a parent class of <$anon: javax.swing.undo.CompoundEdit>
override def getRedoPresentationName: String = super[AbstractUndoableEdit].getRedoPresentationName
^
其實我覺得這是不可能的。看到這個問題的答案http://stackoverflow.com/questions/8028627/select-certain-super-class-for-method-call-in-scala – lpiepiora
@lpiepiora感謝您的鏈接;那真不幸;無論如何,你可以將它作爲答案嗎? –