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();

  • 相关阅读:
    NOIP201105铺地毯
    50148155HYF旅游
    连通性判断
    传递消息1
    找朋友
    5796: 最短Hamilton路径(状压dp)
    2283: A Mini Locomotive(01背包)
    2616: Cow Frisbee Team(01背包)
    2593: Secret Message(字典树)
    Stammering Aliens(二分+Hash 卡过)
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/11837408.html
Copyright © 2011-2022 走看看