scala的构造函数

1.今天讲一下scala的类

类中可以定义属性,方法,构造函数scala类中也是一样的

而在scala的类有一个默认构造函数,而默认的构造函数可以有参数的  注意这是与Java中的不同点

我们现在scala中建立一个内部类

class Student(id: Int, name: String) {
  println("默认构造函数")//默认构造有两个属性

  //定义属性并赋值
  //private 属性私有化
  private val _id: Int = id
   val _name: String = name
    // 下划线  占位符,没有实际意义,只是起到占位置的功能
    var _age: Int = _
  //定义方法
  def getId(): Int = {
    return _id
  }
  //override 方法重写
  override def toString: String = {
    "Student(" + _id + "," + _name + "," + _age + ")"
  }
  /**
    * 重载构造函数
    *
    * 再重载构造函数的第一行需要显示调用默认构造函数
    *
    */

  def this(id: Int, name: String, age: Int) {
    //调用默认构造函数   (会调用有参的默认构造)
    this(id, name)
    //给属性赋值
    this._age = age
  }

}

  

object Demo9Class {
  def main(args: Array[String]): Unit = {
   val student = new Student(1, "张三")
    println(student._name)
    System.out.println(student)
    val lisi = new Student(2, "李四", 24)
    println(lisi)
  }
}

  注意:在scala中默认构造可以有参数

    调用类会先走默认构造,即使默认构造有参数,也要走!!!!

scala的构造函数

上一篇:C# String.Format格式化json字符串中包含"{" "}"报错问题


下一篇:区间修改区间求和