这是我的 Scala 代码,我会先粘贴它
abstract class Item {
def price(): Double
def descript(): String
}
class SimpleItem(var price: Double, var descript: String) extends Item
class Bundle(price: Double, descript: String, var other: Item)
extends SimpleItem(price, descript) {
override def price = other.price + super.price
override def descript = "this item can contain other item,and now it's containning:"+
other.descript
}
在方法 price 中Bundle
,当我使用 时super.price
,编译器认为我使用了超类的私有属性,但是当我将其更改为 时super.price()
,现在编译器认为我添加()
到Double
. 现在我很困惑:还有其他方法可以调用超类的方法吗?