Scala的父类用法

31 阅读1分钟

当父类,子类都存在带参数的构造器的时候如何进行参数传递? 子类必须在定义时显式调用父类的主构造器或辅助构造器,并传递必要的参数

  // 父类
  class Animal(val name:String,val age:Int) {
    println(s"父类构造器.....${name} ${age}")
    def eat(): Unit = {
      println(s"${name} ${age} eating......")
    }
  }
  // 子类: name age color   ->color是子类自己的属性 需要修饰符
  class Dog(name:String,age:Int, var color:String)extends Animal(name,age) {// 参数的传递 name,age前面不需要任何修饰
    println(s"子构造器......${name} ${age} ${color}")
  }

  def main(args: Array[String]): Unit = {
    val dog1 = new Dog("旺财",1,"黑色")
    dog1.eat()
  }