zoukankan      html  css  js  c++  java
  • Java多态

    多态定义:

      相同类型的变量、调用同意方法时呈现出多种不同的行为特征,这就是多态。

    Java引用变量有2个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量的类型决定,运行时类型由实际赋给该变量的类型决定。

    如果编译时类型与运行时类型不一致,则就可能出现多态。

    比如:  

    Child继承自Parent,则Parent p1=new Child();表示父类引用指向子类对象,编译时类型是Parent类型,运行时时Child类型。

    p1.show();

    //1、若父类中定义了show()方法,子类没有重写,则调用父类方法。

    //2、若父类中定义了show()方法,子类重写该方法,则调用子类方法。

    //3、若父类没有定义show()方法,子类定义了该方法,则调用出错!因为编译时无法调用show()方法。

     为什么可以使用:Parent p1=new Child();

    原因:因为子类其实是一种特殊的父类,因此java允许把一个子类对象直接赋给父类引用变量,无须任何类型转换,或者被称为向上转型,由系统自动完成。

  • 相关阅读:
    hihocoder 1038
    hihocoder 1039
    poj 2774
    bzoj 4690&&4602
    poj 2417
    STL
    poj 1026
    poj 1064
    poj 1861(prim)
    poj 1129
  • 原文地址:https://www.cnblogs.com/stm32stm32/p/6180981.html
Copyright © 2011-2022 走看看