抽象类 abstract
定义:抽象类是一个包含一个或多个抽象方法的类。抽象方法是不带任何实现的方法。抽象类也可以包含具体的方法和属性
特点:1. 不能new,无法实例化 2. 充当其他类的父类,抽象的方法和属性在子类中具体去实现
object class15 {
abstract class Job() {
var name:String = "小花" // 具体属性
def hello():Unit={ // 具体方法
println("hello...")
}
var age:Int // 抽象的属性:它没有具体的属性值
def sayHello():Unit // 抽象的方法:没有方法体
}
def main(args: Array[String]): Unit = {
//new Job () 报错,抽象类不能new
}
}
继承抽象类
子类继承了抽象类,它就必须去实现所有抽象属性和抽象方法
object class16 {
abstract class AICar() {
// 抽象属性:没有属性值,是抽象的
var typeTh:String
// 抽象方法
def autoRun():Unit
}
class XiaoMi extends AICar {
var typeTh = "视觉+雷达技术"
def autoRun():Unit = {
println(s"小米公司的自动驾驶技术")
}
}
def main(args: Array[String]): Unit = {
val su7 = new XiaoMi()
su7.autoRun()
}
}