Scala中当父类,子类都存在带参数的构造器的时候,如何进行参数传递?

24 阅读1分钟

参数传递

// 父类:name,age
class Animal(val name:String,var age:Int) {
  println(s"父类构造器被调用...... ${name} ${age}")

  def eat():Unit = {
    println(s"${name} ${age} eating...")
  }
}

// 子类:name,age,color
class Dog(name:String, age:Int, var color:String) extends Animal(name,age){
  println(s"子类构造器被调用...... ${name} ${age} ${color}")
}

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

name,age 在子类中是没有val,var修饰符的,这两个属性是从父类继承的。

color是子类自己的属性,需要修饰符

Snipaste_2025-11-10_15-05-21.png

结果展示:

Snipaste_2025-11-10_15-06-18.png