类和对象

36 阅读1分钟

创建类和对象

在Scala中,用class来创建类,用new来创建对象。

// 类是属性的集合
// Student.构建函数用来创建对象的
//                辅助构造函数,提供多种创建对象的方式
class Student(val name:String, var age:Int) {
  println("构造函数被调用...")

  def sayHi(): Unit = {
    println(s"我是${name},我今年${age}")
  }

  // 辅助构造函数
  // (1)他的名字是this
  //  (2) 它内部的第一句代码必须是调用 主构造函数 this("无名氏",0)
  def this() = {
    this("无名氏", 0)
    println("辅助构造函数1被调用...")
  }

  def this(name: String) = {
    this(name, 0)
    println("辅助构造函数2被调用...")
  }
}
  object base50 {
    def main(args: Array[String]): Unit = {
      val stu3 = new Student("小明")
      stu3.sayHi()
    }

私有private

// 私有
class Student(val name:String, var age:Int) {

  private def song(): Unit = {
    println("我在唱歌...")
  }
  def sayHi(): Unit = {
    println(s"我是${name}, 我今年${age}")

    song()
  }
}
    def main(args: Array[String]): Unit = {
      val stu3 = new Student("小明",18)
      stu3.sayHi()
      // stu3.song() // 会报错

    }