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なく
私はPersonクラスにdef age() = {privateAge}
のブラケットを取り外した場合、それが正常に動作している間。
私はp.age = 12
メソッドがdef age_=(age:Int) {privateAge=age}
に対応するはずですが、なぜ私はdef age() = {privateAge}
を変更したのか混乱しました。
可能な重複http://stackoverflow.com/質問/ 4437373/def-val-and-var-in-scala) –