scala重写演示

/**
 * Scala通过override关键字来重写父类的成员
 * 1.子类要重写父类中的某一个方法时,该方法必须要使用override关键字来修饰
 * 2.可以使用override来重写一个val字段(注意:父类用var修饰的变量,子类不能重写)
 */
object 重写演示 {

  class Person {

    val name = "张三"
    var age = 20

    def sayHello(): Unit = println("Hello, Scala")

  }

  class Student extends Person {

    override val name = "李四"
    // 父类用var修饰该变量,不能被重写,运行会报错

    /**
     * 父类用var修饰的变量也不需要重写,需要使用的时候可以直接拿来用
     */
    // override var age = 30

    // 重写父类的成员方法
    override def sayHello(): Unit = {
      super.sayHello() // 调用父类的成员方法
      println("Hello, Java")
    }

  }

  def main(args: Array[String]): Unit = {
    val p = new Student
    println(p.name, p.age)
    p.sayHello()
  }

}

版权声明:本文为m0_58535137原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。