1.1 抽象属性和抽象方法
1.1.1 基本语法
- 抽象类:abstract class Person{ }- 抽象属性: val | var name:String- 抽象方法: def hello():String
1.1.2 继承&重写
- 子类需要重写父类的抽象方法和抽象属性,否则子类也需要声明为抽象类- 重写抽象方法可以不加 override,重写非抽象方法需要加 override- 子类可以用super调用父类的方法- 子类对非抽象属性重写,父类非抽象属性只支持val类型
(因为var修饰的为可变变量,子类继承后可直接使用没必要重写)
1.1.3 匿名内部类
abstract class Person4{var name:Stringdef hello():Unit}object Test{def main(args:Array[String]):Unit={var p4 = new Person4 {override var name: String = "zs"override def hello(): Unit = {println(s"my name is $name , hello")}}//调用p4.hello()}}
