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();

    }

  • 相关阅读:
    在ORACLE里用存储进程活期瓜分表
    TSM Server,Client,TDPO安装设置装备摆设手记
    用Linux完成Oracle自植物理备份
    在Red Hat Linux7.x/8.0下安设Oracle 9i
    运用Oracle9i数据库的细心事变
    科来网络分析系统 V6.0
    [恢]hdu 2034
    [恢]hdu 2041
    [恢]hdu 2015
    [恢]hdu 2035
  • 原文地址:https://www.cnblogs.com/aoligei/p/12374127.html
Copyright © 2011-2022 走看看