• 继承与多态


    一、继承

    定义:允许类派生子类(只可以单一继承)

    当子类继承父类之后,父类中的所有公共的成员将被子类继承(拥有),子类还可以拥有自己特殊的成员。子类无法继承父类中的构造方法和private成员。

    二、重写

    子类中存在与父类中同原型(一模一样)的方法,子类中覆盖了父类中的方法

    final在继承中的特殊用法:

    final修饰父类中的方法,表示方法不能被子类覆盖。

    final修饰类,表示该类不能被继承

    super 关键字:

    1.区别this成员和父类成员。

    2.调用父类的成员。

    三、继承中的构造方法

    子类不能继承父类中的构造方法,子类可以调用父类中任何一个可以访问的构造方法。

    1.只能在子类的构造方法中调用父类的构造方法。

    2.每次只能调用一个/次父类的构造方法。

    3.调用父类的构造方法,必须在子类构造方法第一行完成。

    易忘点:

    创建子类对象时,会先创建(new)父类对象

    调用子类构造方法时,必须手动或自动调用父类的构造方法

    如果父类中的构造方法带参数,子类的构造方法中必须手动调用父类的构造方法。

    手动:super();

    自动:只能调用父类中不带参数的构造方法

    四、多态

    多态:同一个方法名称,不同的表示形态

    多态实现的条件:

    1.必须有继承关系

    2.子类对父类方法的重写

    3.父类的引用指向子类的实例

    A.静态多态:在编译时即明确调用的是哪个类中的方法

    又叫:编译时多态   通常体在方法的重载

    B.动态多态:运行时才能明确调用的是哪个类中的方法

    又叫:运行时多态   通常体在方法的重写

    方法的重载、重写区别:

    1.重载量方法名相同,参数列表不同。(重写方法与原方法一模一样)

    2.重载是编译时多态(重写是运行时多态)

    3.重载是可以无限重载(重写只能一次)

    4.重载继承关系不是必须的(重写是必须有继承关系)

    表态块static{}加载优先于子父类的构造方法。

    (转自本人其它账号)

  • 相关阅读:
    关于 Delphi 中的Sender和易混淆的概念(转)
    C#实现打印与打印预览功能(转)
    Quartz.NET
    如何从Powerdesigner进行数据建模并生成SQL脚本
    pentaho BI套件中PSW和PDI的连接
    Oracle中如何使用imp语言导入dmp文件
    DatePicker和DateEdit的区别
    dev控件中LookUpEdit的数据绑定问题
    如何在GridControl的某一列放入CheckBox、Button以及其他控件
    在GridControl中如何选中某一行中的某一列
  • 原文地址:https://www.cnblogs.com/janesyf/p/7840842.html
Copyright © 2020-2023  润新知