zoukankan      html  css  js  c++  java
  • 多态

    *多态:
    1.意义:
      1.1)同一类型的引用,指向不同的对象时,有不同的实现
               -------行为的多态:例如:cut(),run(),step()......
      1.2)同一个对象,被造型为不同的类型时,有不同的功能
               -------对象的多态:例如:我,你,水......
    2.向上造型/自动类型转换:
      2.1)超类型的引用指向派生类的对象
      2.2)能造型成为的数据类型有:超类+所实现的接口
      2.3)能点出来什么,看引用的类型
    3.强制类型转换,成功的条件只有如下两种:
      3.1)引用所指向的对象,就是该类型
      3.2)引用所指向的对象,实现了改接口或继承了该类
    4.强转时若不符合如上条件,则发生ClassCastException类型转换异常
       建议:强转之前先通过instanceof判断引用指向的对象是否是该类型
    例:
    Aoo o = new Boo()://向上造型
    Boo o1 = (Boo)o;//符合条件1
    Inter1 o2 = (Inter1)o;//符合条件2
    Coo o3 = (Coo)o;//ClassCastException类型转换异常
    if(o instanceof Coo){//false(做强转用这个语法可以保证代码的健壮性,只要强转先判断)
    Coo o4 = (Coo)o;
    }

    interface Inter1{}
    class Aoo{}
    class Boo extends Aoo implements Inter1{}
    class Coo extends Aoo{}

    欢迎大佬指点。
  • 相关阅读:
    nginx 学习
    java 数组转字符串(以逗号分隔开)
    索引命名规范
    java常见的设计模式
    java中的堆、栈浅解。
    Oracle忘记System密码怎么办?
    端口被占用,怎么解决?
    Spring Mvc学习之路
    svg了解一下
    推荐几款基于vue的使用插件
  • 原文地址:https://www.cnblogs.com/tietouwa/p/13468515.html
Copyright © 2011-2022 走看看