2018-12-04 15:33:05
应用程序对象
class AppTest { } object AppTest extends App{ //继承App类,程序可以直接执行,无需main函数 val str = "yaoyao" println(s"$str is my right girl") }
抽象类、特质、继承、实现、重写
object ClassDemo { def main(args: Array[String]): Unit = { val human = new Human println(human.hight) println(human.name) } } /** * 特质 */ trait Flyable{ // 声明一个有值的字段 val distance: Int = 1000 // 声明一个没有值的字段 val hight: Int // 声明一个有方法体的方法 def fly: String = { "I can fly" } // 声明一个没有方法体的方法 def fight: String } /** * 抽象类 */ abstract class Animal{ // 声明一个有值的字段 val age = 3 // 声明一个没有值的字段 val name: String // 声明一个有方法体的方法 def climb: String = { "I can climb" } // 声明一个没有方法体的方法 def run: String } // 在没有继承父类的情况下,如果需要是一个特质,此时需要用extends关键字,而不是with class Human extends Animal with Flyable{ //extends继承,with实现 override val name = "tom" //override重写 override val age: Int = 6 override def run = "I can run" override def climb: String = "I can not climb" override val hight = 2 override def fight = "fight with 棒子" override def fly: String = "I can not fly" }