zoukankan      html  css  js  c++  java
  • 对象的上转型和下转型 (instanceof关键字)

    1.对象的上转型,就是多态的一种写法

    格式:父类名称 对象名 = new 子类名称();

       Animal animal = new Cat();

    含义:右侧创建一个子类对象,把它当作父类来使用

    向上转型一定是安全的,从小范围到大范围;  猫是动物,动物不一定是猫

    类似于:double num = 100

    ps:对象一旦向上转型为父类,就无法调用子类特定内容

    上转型还可以在参数传递的时候隐型发生:例如 匿名类、子类对象

    usbServe(USB usb)

    调用时:

    1.usbServe(new Keybroad());

    2. Keybroad keybroad = new Keybroad();

     usbServe(keybroad);

    2.对象的下转型,其实就是还原的操作

    格式:子类名称 对象名 = (子类名称)父类对象;

    含义:将父类对象还原为本来的子类对象

      Cat cat = (Cat)animal

    类似于:int num = (int)10.0

    ps:必须保证创建的时候就是猫,才能下转型成猫,否则会报错 类转换错误 ClassCastException

    报错的情况类似于:int num = (int)10.5       //精度损失

    下转型时,忘记原来子类是什么时

    格式:对象 instanceof 类名称

    会得到一个 boolean 值,判断前面对象能不能当作后面类型的实例

    例子:

    if (animal instanceof Dog) {

      Dog dog = (Dog) animal;

      dog.watchHouse();

    }

    if (animal instanceof Cat) {

      Cat cat = (Cat) animal;

      cat.catchMouse();

    }

  • 相关阅读:
    Discuz安装(centos+宝塔)
    宝塔面板安装
    Java中设置classpath、path、JAVA_HOME的作用
    【JDK和Open JDK】平常使用的JDK和Open JDK有什么区别
    提取Chrome插件为crx文件
    Python 01
    Java 01
    HTML5学习之FileReader接口
    formidable上传图片
    Mac系统下brew安装指定版本的nodejs小笔记
  • 原文地址:https://www.cnblogs.com/aoligei/p/12374127.html
Copyright © 2011-2022 走看看