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感谢您的链接;那真不幸;无论如何,你可以将它作为答案吗? –