美文网首页kotlin
38.智能类型转换

38.智能类型转换

作者: 写代码的向日葵 | 来源:发表于2019-10-03 22:59 被阅读0次
    fun main(args: Array<String>) {
        val shepHerdDog: Dog = ShepHerdDog()
        val ruralDog = RuralDog()
    
        //想调用herdShep方法 1。先判断是否是ShepHerdDog 2。转换成ShepHerdDog类型
        if (shepHerdDog is ShepHerdDog) { //判断完之后已经将shepHerdDog从Dog类型转换为ShepHerdDog类型
            shepHerdDog.herdShep()
        }
        ruralDog.watchDoor()
    }
    
    /**
     * 狗
     */
    abstract class Dog
    
    /**
     * 牧羊犬
     */
    class ShepHerdDog : Dog() {
    
        fun herdShep() {
            println("牧羊犬放羊")
        }
    }
    
    /**
     * 中华田园犬
     */
    class RuralDog : Dog() {
        fun watchDoor() {
            println("中华田园犬看家")
        }
    }
    
    

    相关文章

      网友评论

        本文标题:38.智能类型转换

        本文链接:https://www.haomeiwen.com/subject/eurjpctx.html