主构造器:

class Person (var name: String){

  
}

主构造参数可以不带val或者var,如果没有被其他方法使用,则不保存为字段。

如果被其他方法使用,则被升格为字段,是private[this] val字段效果。

私有主构造:

class Person private (var name: String){


}

 

辅助构造器:

class Person (var name: String){

  private var age = 0
  
  def this(name: String, age: Int){
    this(name)
    this.age = age
  }
}

 

相关文章: