美文网首页
java高级学习之3:多态

java高级学习之3:多态

作者: ambe_gzy | 来源:发表于2019-04-02 11:05 被阅读0次

    多态存在的三个必要条件

    继承

    重写

    父类引用指向子类实例化对象 :Parent p = new Child();

    当使用多态方式调用方法时,

    首先检查父类中是否有该方法,如果没有,则编译错误;

    如果有,再去调用子类的同名方法记住!!


    用子类的构造函数创建父类类型的对象叫做向上转型

    Animal a = new Cat(); // 向上转型 ,(先后调用Cat、Animal 的构造函数,继承的是子类的方法,但父类中必须也有该方法,无该方法则无法调用

    Cat c = (Cat)a; // 向下转型,(将a中的变量值赋给c,此时c可以调用父类没有的方法)


    虚函数

    虚函数的存在是为了多态。

    Java 中其实没有虚函数的概念,它的普通函数就相当于 C++ 的虚函数,动态绑定是Java的默认行为。如果 Java 中不希望某个函数具有虚函数特性,可以加上 final 关键字变成非虚函数。


    多态的实现方式

    方式一:重写:

    方式二:接口

    方式三:抽象类和抽象方法


    最常用的实现多态的方法:使用对象的向上转型来初始化对象。[1]


    本章学习到此结束,若想了解其他java知识,欢迎访问java学习之1:总纲

    2019.4.21更新:[1]

    相关文章

      网友评论

          本文标题:java高级学习之3:多态

          本文链接:https://www.haomeiwen.com/subject/krdwbqtx.html