scala中主构造器和辅助构造器

class Person (var id: Int , var name: String) {//主构造器
  //在主构造器中声明了类型 在这个地方就不能再次声明类型 并且可以不用写 id 和 name
  id
  name
  var age = 18
  var gerden = "female"

  //辅助构造器
  def this(id: Int ,name: String, age: Int){
    //每一个辅助构造器都必须把 主构造器的参数列表调用一遍
    this(id,name)
    this.age = age
  }
  //辅助构造器
  def this(id: Int ,name: String , gerder: String){
    //每一个辅助构造器都必须把 主构造器的参数列表调用一遍
    this(id , name)
    this.gerden = gerder
  }

  def add(a: Int){id  += a}
  def current() = id
}
object OOP {
  private var obj = "single"
  def hello() = println("object 来实现静态")

  def main(args: Array[String]): Unit = {

    println(OOP.obj)

    OOP.hello()

    //主构造器中无参数 就可以向下面这样创建对象了
    val p = new Person(9527,"风流倜傥玉树临风一朵梨花压海棠的蟑螂小强拉的粪球")

    println(p.id)
    p.add(100)
    println(p.current())
    //获取name的值
    println(p.name)
    p.name = ("天使")//更改
    println(p.name)
  }
}

 

输出:

 

single
object 来实现静态
9527
9627
风流倜傥玉树临风一朵梨花压海棠的蟑螂小强拉的粪球
天使

posted @ 2018-08-06 11:33  马鞍山  阅读(1211)  评论(0编辑  收藏  举报