抽象&继承&重写
- 定义父类
abstract class Car{ //是抽象类,不能直接被实例化
val carBrand: String //字段没有初始化值,就是一个抽象字段
def info() //抽象方法,不需要使用abstract关键字
def greeting() {println("Welcome to my car!")}
}
- 子类实现
class BMWCar extends Car {
//重写父类字段,需要使用override关键字
override val carBrand = "BMW" // 只能重载val字段,var本身就可变
//重写超类的抽象方法时,不需要使用override关键字
def info() {printf("This is a %s car. It is on sale", carBrand)}
//重写超类的非抽象方法,必须使用override关键字
override def greeting() {println("Welcome to my BMW car!")}
}
原文地址:https://www.cnblogs.com/JZTX123/p/10612055.html
时间: 2024-11-10 05:38:27