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
风流倜傥玉树临风一朵梨花压海棠的蟑螂小强拉的粪球
天使


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM