- 概念和格式
extends关键字,子类能够使用父类的属性和方法;
继承是先调用父类构造器,再调用子类构造器???(以下并没有遵循这个原则,待考证);
package com.byxrs.chapter06
object Test7_Extends {
def main(args: Array[String]): Unit = {
val worker = new Worker("youyou", 16)
println("===============》")
val worker1 = new Worker("heihei", 18, "10012")
}
}
class Person {
var name: String = _
var age: Int = _
println("1 父类主构造器-----")
def this(name: String, age: Int) { //辅助构造器
this()
println("2 父类主构造器-----")
this.name = name
this age = age
}
def getInfo(): Unit = { //方法
println(s"Person:$name,age:$age")
}
}
class Worker(name: String, age: Int) extends Person {
var carNum: String = _
println("3 子类主构造器-----")
def this(name: String, age: Int, carNum: String) {
this(name, age)
println("4 子类辅助构造器-----")
this.carNum = carNum
}
def getWorkerInfo(): Unit = {
println(s"Person:$name,age:$age,carNum:$carNum")
}
}
运行结果:
3 子类主构造器-----
===============》
3 子类主构造器-----
4 子类辅助构造器-----