class Person {
private var privateAge = 0
def age() = {privateAge}
def age_=(age:Int) {privateAge=age}
}
object Main{
def main(args:Array[String]){
val p = new Person
p.age = 12
}
}
當編譯,p.age = 12
加薪問題:重新分配到VAL斯卡拉:方法與括號diffenence而不是
雖然如果我刪除的def age() = {privateAge}
括號中的Person類,它工作正常。
我很困惑,p.age = 12
方法應該對應於def age_=(age:Int) {privateAge=age}
,但爲什麼我改變了def age() = {privateAge}
,它的工作原理。
[使用閃避,VAL和var Scala中的(可能的重複http://stackoverflow.com/問題/ 4437373/def-val-and-var-in-scala) –