1.抽象类规则代码如下
abstract class Bike {
val a = 100
var b = 200
def interest():String
def display(): Unit ={
println("this is a bike")
}
def speed() // 抽象方法
def run(): Unit ={ // 父类方法
println("------Im Bike Run----------")
}
}
class AiBike extends Bike {
override val a = 1 // 只能对val类型的变量重写
//override var b = 2 // 这样重写是错误的,因为var 定义的变量在任何位置都可以修改,没必要对其重写
override def speed(): Unit = {
println("the bike speed is 40km/h " + a + "_" + b)
b = 2
println("edit b ........")
println("the bike speed is 40km/h " + a + "_" + b)
}
override val interest:String = "AAAA" // 用字段的方式重写父类的抽象方法
def aiBikerun(): Unit ={
run //调用父类方法
}
}
object AiBike{
def main(args: Array[String]): Unit = {
var aiBike = new AiBike
aiBike.display
aiBike.speed
aiBike.aiBikerun
}
}
结果如下: