主要内容
- 类的继承
- 构造函数执行顺序
- 方法重写
- 匿名类
- 多态与动态绑定
- 组合与继承的使用
1 类的继承
下类的代码演示了scala类的继承
//Person类
class Person(name:String,age:Int){
}
//Student继承Person类
class Student(name:String,age:Int,var studentNo:String) extends Person(name,age){
}
object demo{
def main(args: Array[String]): Unit = {
val student=new Student("john",18,"1024")
}
}
代码
//Person类
class Person(name:String,age:Int){
}
//Student继承Person类
class Student(name:String,age:Int,var studentNo:String) extends Person(name,age){
}
等同于下面的Java代码
//Person类
class Person{
private String name;
private int age;
public Person(String name,int age){
this.name=name;
this.age=age;
}
}
//Student继承Person类
class Student extends Person{
private String studentNo;
public Student(string name,int age,String studentNo){
super(name,age);
this.sutdentNo=studentNo;
}
}
2. 构造函数执行顺序
下面的代码演示scala在继承的时候,构造函数的执行顺序
//Person类
class Person(name:String,age:Int){
println("Constructing Person")
}