伴生对象

// 在java中你通常会用到既有实例方法又有静态方法的类
// 在scala中你可以通过类和与类同名的伴生对象来达到同样的目的
// 类和它的伴生对象可以相互访问私有特性.他们必须存在于同一个源文件中.
class Account{
  val id = Account.newUniqueNumber()
  private var balance = 0.0
  def deposit(amount: Double){ balance += amount }
}
object Account{ //伴生对象
  private var lastNumber = 0
  private def newUniqueNumber() = { lastNumber += 1; lastNumber }
}


原文地址:https://www.cnblogs.com/dongdone/p/6894337.html