JAVA之继承和多态

继承意义和概念

  • 从已有的类派生出新类,叫做继承。

  • 在软件重用方面一个重要且功能强大的特征。

  • 超类称为父类或基类,次类又称为子类,扩展类,或派生类

  • 关键字extends

  • 父类中的私有域在该类之外是不可访问的。但是如果父类中定义了公共的访问器/修改器,可以通过其进行访问和修改。

  • JAVA中只允许单继承,多重继承通过接口来实现。


this关键字的作用,是调用对象的引用。

super关键字两种用途

  • 调用父类的构造方法

    • 必须是构造方法的第一条语句,在子类中调用父类构造方法的名字会引起一个语法错误。

    • 父类的构造方法是不被子类继承的,他们只能从子类的构造方法中用关键字super调用。

  • 构造方法链

    • 当构造一个子类的对象时,子类构造方法会在完成自己的任务前,首先调用父类的构造方法。如果父类继承自其他类,会继续沿着这个体系结构直到最后一个构造方法被完成为止。

    • 最好能为每个类提供一个无参的构造方法,避免对该类进行扩展是出现错误。

  • 调用父类的方法

    • 仅当实例方法是可访问时,才能被覆盖。

    • 静态方法能被继承,但是不能被覆盖。一旦被覆盖,方法将被隐藏,可使用:父类名.静态方法名调用隐藏的静态方法。


重载,覆盖

JAVA之继承和多态_第1张图片


多态(多种形式)

  • 父类型的变量可以引用子类型的对象


动态绑定

JAVA之继承和多态_第2张图片
JAVA之继承和多态_第3张图片


equals方法

JAVA之继承和多态_第4张图片

防止扩展和覆盖

JAVA之继承和多态_第5张图片

你可能感兴趣的:(java)