zoukankan      html  css  js  c++  java
  • Java多态小总结

    多态,又可以称为动态绑定,即在运行时确定类型,比如:

     1 class A {
     2   void draw(){
     3   //输出“A”   
     4  }  
     5 }
     6 class B {
     7     void draw(){
     8     //输出“B”
     9 }
    10 
    11 }

    这种关系里,如果调用A a = new B();

    此时,被称为向上转型,a的类型可能在很早之前被生命,而在这时候被明确指明是其子类型,

    我们如果要去调用draw()方法的时候,会调用输出“B”,这样,便是Java中的“多态”。我们称其为“向上转型”。

    但是,如果B中还有其他方法的时候,A型的a是不能调用其方法的,必须将a通过强制类型转换转成B型才可以调用。我们称其为“向下转型”。

    与此同时,如果是一个A a = new A();这种正常的实例化的时候,对其进行向下转型,在Eclipse中和编译是不报错的,但是程序运行起来后会报一个ClassCastException错误,这种在程序运行期间进行类型检查的机制称为“RTTI”(Runtime Type Identify,运行时类型识别)。

    -----------------------------------------------------

    Github:

    https://github.com/RainFool
  • 相关阅读:
    java嵌套循环练习
    java菜鸡循环练习
    Kruskal重构树
    狄利克雷卷积
    莫比乌斯反演
    两道趣题
    树状数组
    多重背包
    SPFA与差分约束
    快速线性筛
  • 原文地址:https://www.cnblogs.com/RainFool/p/3822411.html
Copyright © 2011-2022 走看看