在原有类的基础上定义一个新类 原有类称为父类,新类称为子类 class子类名 extends父类名{类体} 子类可以直接使用父类的属性和方法 super在子类中访问父类
package level02
object class10{
class Aniaml() {
def eat(): Unit = {
println("animal eat ......")
}
}
class Dog() extends Aniaml{
}
def main(args: Array[String]): Unit = {
val d1 = new Dog()
d1.eat()
}
}
package level02
object class12{
class Parent() {
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()
}
}
package level02
object class12{
class Parent() {
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()
}
}
package level02
object class11{
class Aniaml(var name:String,var age :Int ) {
println(s"父类构造器被调用...${name},${age} ")
def say(): Unit = {
println(s"Animal ${name},${age} ")
}
}
class Dog(name:String,age:Int,var color:String) extends Aniaml(name, age){
println(s"字类构造器被调用...${name},${age},${color} ")
override def say():Unit = {
super.say()
println(s"狗狗我的颜色是${color}")
}
}
def main(args: Array[String]): Unit = {
val d1 = new Dog("旺财",1,"黑色")
d1.say()
}
}