美文网首页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.智能类型转换

  • Kotlin 智能类型转换

    Kotlin 智能类型转换 对于子父类之间的类型转换 先看这样一段 Java 代码 尽管在 main 函数中,对 ...

  • Kotlin Contract

    Kotlin 的智能推断是其语言的一大特色。 智能推断,能够根据类型检测自动转换类型。 但是,智能推断并没有想象中...

  • Kotlin基础学习篇:各类关键字学习

    1、Kotlin 继承open关键字 2、Kotlin 类型转换 3、Kotlin智能转换 4、Kotlin 中A...

  • 初探Typescript

    语言类型 强类型 弱类型 (类型安全维度)强类型有类型上的约束,不允许任意的隐式类型转换优势:错误更早暴露代码智能...

  • Kotlin学习之初探——智能类型转换

    智能类型转换 var b:B = Student()if (b is Student){b.money}解释:St...

  • Kotlin 进阶之路6 异常错误处理和类型检查

    Kotlin 进阶之路 目录 1、异常错误处理 2、类型检查与转换 空类型 任意类型都有可空和不可空两种 智能类型...

  • C语言类型转换

    类型转换的方式 自动类型转换1.运算转换(规则:会把小类型转换为大类型) 2.赋值转换 强制类型转换格式:(类型)...

  • 引用类型转换

    向上类型转换(自动类型转换),是小类型到大类型的转换向下类型转换(强制类型装换),是大类型到小类型的转换在强制类型...

  • 第三章 JavaScript中的数据间类型的转换

    数据的类型转换分为强制类型转换和非强制类型转换,强制类型转换也可以称为显示转换,非强制类型转换也可以称为隐式转换。...

网友评论

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

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