您的位置:首页 > 其它

scala学习之路:10. Abstract抽象类抽象字段抽象方法

2016-03-13 14:20 531 查看
/**
* 抽象类抽象字段抽象方法 必须用abstract修饰
*/
class AbstractClassOps {

var id : Int  = _  // 此处 变量必须初始化(或者赋值)或者是使用占位符 不然的话就只能使用abstract 进行修饰
//  val id : Int = _ 此处就会直接报错 (var才可以使用占位符,因为val定义之后不可变)
}
/**
* 如何声明抽象字段: 当字段只进行声明 不进行初始化的话这就是抽象字段
*/
abstract class SuperTeacher(val name : String){
var id : Int   // 这里是抽象类 所以变量就不用初始化
var age : Int
def teach
}

class TeacherForMath(name : String ) extends SuperTeacher(name){
override var id = name.hashCode()
override var age = 25  // 重写 姓名等

override def teach{
println("Teaching math!!!")
}
}

object AbstractClassOps {
def main(args: Array[String]): Unit = {
val teacher = new TeacherForMath("Spark")
teacher.teach
println("teacher.id :" + teacher.id + " teacher.name :"+teacher.name)
println(teacher.age)

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: