我正在测试一个简单的scala程序如何做自定义setter。 但它给了我编译时错误。
class Duck1 {
private var privateAge = 10
def age() = privateAge
def age_ = (value : Int) { if(value > privateAge) privateAge = value}
}
object CustomGetter extends App {
val f = new Duck1
//f.age = 20
println(f.age)
}
第def age_ = (value : Int) { if(value > privateAge) privateAge = value}
行
给出错误。
答案 0 :(得分:0)
这是正确的语法:
<Recipe
save={this.save}
original={recipe}
id={recipe.key}
key={recipe.key} // <-- HERE
title={recipe.title}
ingredients={recipe.ingredients}
instructions={recipe.instructions}
/>
方法名称应为def age_= (value : Int): Unit = { if(value > privateAge) privateAge = value}
,签名后缺少age_
。
您还必须省略=
最后,我同意这些意见。您应该在问题中包含错误消息。