Scala 访问超类中的方法
我想在父类的父类上调用一个方法。我几乎可以肯定这是可能的,但以下情况会产生错误:Scala 访问超类中的方法,scala,superclass,super,Scala,Superclass,Super,我想在父类的父类上调用一个方法。我几乎可以肯定这是可能的,但以下情况会产生错误: import javax.swing.undo._ def test(name: String): CompoundEdit = new CompoundEdit { override def getPresentationName : String = name override def getUndoPresentationName: String = super[AbstractU
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
的父类(即:
:55:错误:AbstractUndoableEdit未命名的父类
重写def getUndoPresentationName:String=super[AbstractUndoableEdit].getUndoPresentationName
^
:56:错误:AbstractUndoableEdit未命名的父类
重写def getRedoPresentationName:String=super[AbstractUndoableEdit].getRedoPresentationName
^
这是不可能的。原因是,它会违反封装
请参见和这是不可能的。原因是,它会违反封装
事实上,我认为这是不可能的。请参阅此问题的答案@lpiepiora感谢链接;这是不幸的;你能把它作为一个答案吗?无论如何,我认为这是不可能的。请参阅此问题的答案@lpiepiora感谢链接;这是不幸的;无论如何,你能把它作为一个答案吗
<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
^