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

    多态的前提和体现:

    1.有继承/实现关系
    2.有方法重写【不必要,但是我们开发中99%的情况使用多态就是为了使用重写后的方法,如果不重写,则使用成员全都是父类,何必使用多态】
    3.有父类的引用指向子类对象

    多态的成员特点:


    多态中除了重写的方法调用子类的,其他所有成员都是使用父类中的,父类没有这些成员则编译报错。

    多态的优劣,如何弥补劣势?

    好处:

    提高了代码的扩展性

    弊端:

    父类的引用不能使用子类特有成员

    //向下转型:大范围的内容Animal转成小范围Cat的内容,解决了多态的弊端
    Animal a = new Cat();
    Cat c = (Cat)a;//正确,把父类引用向下赋值给子类引用
    Dog d = (Dog)a//运行报错:a是只猫,扩大到了Animal,但是强行转成狗就是错误的。
    //和强制类型中基本类型转换基本一样
    double d = 3.14
    int e = (int)d;//3

    //向上转型,就是多态。子类对象向上赋值给父类的引用
    Animal a = new Cat();

  • 相关阅读:
    CF235D
    模拟赛 circle 题解
    平面图总结
    kd 树总结
    思维题
    luogu P1600 天天爱跑步
    UOJ #42. 【清华集训2014】Sum
    FZOJ 4344 连通性
    平衡树
    计蒜客 T3225 Darko 的生成树
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/11837408.html
Copyright © 2011-2022 走看看