特质、抽象类、继承、重写、实现等
作者:
lehuai | 来源:发表于
2018-01-03 10:05 被阅读0次package day03
/**
* 特质、抽象类、继承、重写、实现等
*/
object ClassDemo {
def main(args: Array[String]): Unit = {
val human = new Human
println(human.name)
println(human.climb)
println(human.fight)
}
}
/**
* 特质
*/
trait Flyable {
// 声明一个没有值的字段
val diatance: Int = 900
// 声明一个没有实现的方法
def fight: String
// 声明一个实现的方法
def fly: Unit = {
println("I can fly")
}
}
/**
* 抽象类
*/
abstract class Animal {
// 声明一个没有赋值的字段
val name: String
// 声明一个没有实现的方法
def run(): String
//声明一个有实现的方法
def climb: String = {
"I can climb"
}
}
class Human extends Animal with Flyable {
override val name = "张三"
// 重写了抽象类中没有实现的方法
override def run() = "I can run"
// 重写了抽象类中没有实现的方法
override def climb: String = "override climb"
// override val diatance = 100
// 实现了特质中没有实现的方法,可以不用override关键字,用了也可以
def fight = "with 棒子"
// 实现了特质中有实现方法
override def fly: Unit = println("override fly")
}
本文标题:特质、抽象类、继承、重写、实现等
本文链接:https://www.haomeiwen.com/subject/yjthnxtx.html
网友评论