抽象类
如果类的某个成员在当前类中的定义是不包含完整的,它就是一个抽象类
不完整定义有两种情况:
- 方法没有方法体(抽象方法)
- 变量没有初始化(抽象字段)
定义抽象类和Java一样,在类前面加上abstract关键字
// 定义抽象类
abstract class 抽象类名 {
// 定义抽象字段
val 抽象字段名:类型
// 定义抽象方法
def 方法名(参数:参数类型,参数:参数类型…):返回类型
}
示例:
//定义抽象类
abstract class Parson{
//非抽象字段
var grade:String="高三"
//定义抽象字段
var name:String
//定义抽象方法
def study(num:Int):String
}
//继承抽象类
class student extends Parson {
//重写抽象字段
override var name: String = "夏洛"
//重写抽象方法
override def study(num: Int): String = {
"和马冬梅一起看书"
}
}