且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用自定义_ =的Scala自动getter和setter覆盖

更新时间:2022-12-10 11:43:50

尝试一下:

class Car(private var _miles: Int) {
  def miles = _miles
  def miles_=(m: Int): Unit = {
    println("boo")
    _miles = m
  }
}

空格不重要.编译器会看到您正在分配miles,并且无论您插入多少空格,都将插入对miles_=的调用.

Whitespace is not significant. The compiler sees you're assigning miles and will insert a call to miles_= no matter how many spaces you insert.