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(转换异常)
     
  • 相关阅读:
    2-7
    2-6
    2-5
    2-4
    2-3
    2-1
    2-2
    1-1
    5-7
    第六章例6-1
  • 原文地址:https://www.cnblogs.com/jiang-xy/p/9340527.html
Copyright © 2011-2022 走看看