scala 学习(十二)——继承

来源:互联网 发布:java spring 拦截器 编辑:程序博客网 时间:2024/06/03 01:00

scala 学习(十二)——继承

下面是scala中继承的使用。
//抽象类abstract class Animal{    def cry        def run() = {        println("----------")    }}//有cry抽象方法的实现class Dog extends Animal{    def cry = {        println("wang wang wang")    }        //重写非抽象方法需要使用override    override def run() = {        //能够调用父类的方法        super.run        println("gougou running")    }}//定义一个main函数object main{    def main(args:Array[String]){        var d = new Dog        d.cry        d.run        //类型检查        println(d.isInstanceOf[Dog])  //-->true        println(d.isInstanceOf[Animal]) // -->true        //精确判断类型        println(d.getClass)        println(d.getClass == classOf[Dog]) // -->true        println(d.getClass == classOf[Animal]) // -->false        //模式匹配        def matchTest(x : Any) : Any = x match{            case 1 => "this is 1"            case 2 => "this is 2"            case _ => "don't know what is it"        }                println(matchTest(1))        println(matchTest(6))        println("==========")    }}

运行结果:


查看编译后的Dog.class

0 0
原创粉丝点击