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

  • 相关阅读:
    原型模式
    简单工厂模式与工厂方法模式
    监听器 Listener
    代理模式
    装饰模式
    软件设计的原则
    事务的特性和隔离级别
    JDBC事务(三)ThreadLocal绑定Connection
    JDBC事务(二)转账示例
    JDBC事务(一)
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/11837408.html
Copyright © 2011-2022 走看看