zoukankan      html  css  js  c++  java
  • java 的多态(2013-10-11-163 写的日志迁移

    java 的多态性:(所谓多态--就是指一个引用(类型)在不同情况下的多种状态)
     
    1.方法的多态: 
     
    重载(overload)
     
    重写(覆盖 override)
     
    2.对象的多态性:(本人这里要说的)
     
    对象的多态性体现在继承的过程中,子类与其父类对象之间的类型转换关系。
     
    (1) 向上转型(子类对象-->父类对象):在创建对象时,对象可以作为本身的类型引用,可以作为父类型的引用
    (将一个子类对象直接赋值给一个父类的应用变量),java中允许父类的引用变量引用它子类的实例(对象)
     
    如:Animal animal=new Cat();         //动物类(Animal)作为父类直接引用子类(猫类(Cat))
    这种转换是自动完成的。
     
    (2) 向下转型(父类对象-->子类对象):将父类的对象作为其子类的类型引用(需要强制类型转换)
    如:Cat cat=(Cat)animal;  //向下转必须要先产生一个向上转型关系
     
    如果是这样:Cat cat=(Cat) new Animal(); //编译也许不会错,但运行时回报java.lang.ClassCastException(转换异常)
     
  • 相关阅读:
    Power Strings P5019
    Floyd模板题 P1704
    【训练题】强连通分量缩点 P1679
    字符串hash模板题 P5018
    Dijkstra模板题 P1710
    【训练题】分队 P1672
    二分图模板题 P1631
    【训练题】无序字母对 P1675
    KMP模板题 P1537
    马路 树链剖分/线段树/最近公共祖先(LCA)
  • 原文地址:https://www.cnblogs.com/jiang-xy/p/9340527.html
Copyright © 2011-2022 走看看