scala super

37 阅读1分钟

一.super

Scala 中,`super` 关键字用于访问当前类的父类(或特质)中的成员(方法、字段等),主要作用是在子类中引用父类的实现,避免与子类自身的成员产生命名冲突。
package dsj03

/**
object class02 {
class Parent() {
  def run():Unit = {
    println("run...")
  }
}

  class Son extends Parent(){

    //如果希望对父类的方法进行改进 觉得不好
    def run1 ():Unit = { }

    override def run ():Unit = {
      println("开自动驾驶的车 run...")
    }
  }

  def main(args: Array[String]): Unit = {
    val s1 = new Son()
    s1.run()
  }
}
*/

//super.在子类中访问父类
object class02 {
  class Parent() {
    val name:String = " "
    def run():Unit = {
      println("run...")
    }
  }

  class Son extends Parent(){

    //如果希望对父类的方法进行改进 觉得不好
    def run1 ():Unit = { }

    override def run ():Unit = {
      super.run()//super.run在子类中 调用父类的方法
      println("开自动驾驶的车 run...")
    }
  }

  def main(args: Array[String]): Unit = {
    val s1 = new Son()
    s1.run()
  }
}