抽象类
Scala的抽象类使用关键字abstract定义,具有以下特征:
- 抽象类不能被实例化。
- 抽象类中可以定义抽象字段(没有初始化的字段)和抽象方法(没有被实现的方法),也可以定义被初始化的字段和被实现的方法。
- 若某个子类继承了一个抽象类,则必须实现抽象类中的抽象字段和抽象方法,且实现的过程中可以添加override关键字,也可以省略。若重写了抽象类中已经实现的方法,则必须添加override关键字。
例如,定义一个抽象类Person,代码如下:
//定义抽象类Person
abstract class Person {
//抽象字段
var name:String
var age:Int
//普通字段
var address:String="北京"
//抽象方法
def speak()
//普通方法
def eat():Unit={
println("吃东西")
}
}
定义一个普通类Tea