scala-特质、抽象类、继承、重写、实现
简单实例进行了解,一目了然。
package day02
object objectDemo {
def main(args: Array[String]): Unit = {
val bird001 = new bird
println(bird001.distance)
println(bird001.fight)
println(bird001.fly)
println(bird001.run())
}
}
/**
* 特质
*/
trait Flyable{
//声明一个没有值得字段
val distance:Int
//未实现方法
def fight:String
//已经实现的方法
def fly{
println("I can fly")
}
}
/**
* 抽象类
*/
abstract class Animal{
val name:String
def run():String
//有实现的方法
def climb: Unit ={
println("I can climb")
}
}
/**
* 快捷键 Ctrl+i 生成抽象类和接口的未实现的方法。
*/
class bird extends Animal with Flyable{
override val name: String = "雀鸟"
override def run(): String = "I can run"
//也可以不赋值
override val distance: Int = 2000
override def fight: String = "I can fight"
override def fly: Unit = println("fly~~~~")
}
/**
* 值得注意的是:如果需要直接实现一个接口,不是使用with,而是使用extend
*
*/
class bird01 extends Flyable{
override val distance: Int = _
override def fight: String = ???
}
欢迎订阅关注公众号(JAVA和人工智能)
获取更多免费书籍、资源、视频资料
文章超级链接: