• java程序设计笔记 -- 继承与多态


    继承与多态

    子类

    is a 关系

    整体与部分 has a

    extends 继承关键词

    父类也叫做 超类 基类

    object 类

    • 类层次最高点,是所有类的直接或间接父类

      • 方法

        • public final Class getClass(): 获取当前对象所属的类信息,返回Class对象
        • public Strig toString (): 安字符串对象返回当前对象本身的有关信息
        • public boolean equals(Object obj): 比较两个对象是否是同一个对象,是则返回true

    单重继承

    • java是完全的面向对象语言 ,具有完全的oop能力。

    • 可继承父类的方法和成员变量,但是不能继承构造方法

    • 得到构造方法的方式

      • 自己编写构造方法
      • 系统为类默认提供唯一一个默认的构造方法
    • 多重继承是通过接口来实现的

    对象转型

    • 对象转型:将子类对象付给父类变量

      • 类的变量既可以指向本类实例,又可以指向子类实例
    • 规则

      • 沿类层次向上转型总是合法的, eg 子类–> 父类
      • 对于向下转型,只能是祖先类转型到后代类,其他类之间不允许, eg: 父类—> 子类

    方法覆盖与多态

    方法覆盖–override

    • 子类中定义方法所用的名字,返回类型及参数列表和父类中方法使用的完全一样,也就是具有相同的方法签名

    • 覆盖规则

      • 重写

        • 覆盖的同名方法中,
          子类方法不能比父类方法的访问权限更严格
          子类抛出的异常不能比原方法更多
        • 子类与父类用相同的方法名及参数列表
        • 父类,子类
      • 重载

        • 方法名相同,参数列表不同
        • 重载的方法属于同一个类

    调用父类构造方法

    • super关键词,用在子类构造方法中第一行。

    多态

    • 重写,重载都是多态的表现

    终极类和抽象类

    final

    • 终极类

      • 不能被继承
    • 终极方法

      • 不能被重写
    • 终极变量

      • 不能被重新赋值

    abstract

    • 抽象类

      • 抽象类中必须有抽象方法,可以有普通方法
      • 抽象类的子类所继承的抽象方法,同样还是抽象方法,除非子类实现父类的所有方法
      • 抽象类不能创建对象,除非通过间接的方法来创建起子类对象。

    接口

    定义

    • 用interface关键词修饰类

    实现

    • 用implement 关键词实现接口,同时重写接口中所有的方法

    在这里插入图片描述

  • 相关阅读:
    Node.js --- 前端高薪之路绕不过去的坎
    我的创作纪念日--不知不觉一周年了呐
    【设计模式】一、设计模式七大原则
    ①常用API----Math
    【完美解决】GitHub连接超时问题 Recv failure: Connection was reset
    农历版的FullCalendar插件
    Vim实用技巧_7.模式匹配和查找
    MongoDB副本集介绍与部署
    在java代码中判断当前国家码&&遍历Switchpreferencer开关进行展示
    Linux常见的文件系统
  • 原文地址:https://blog.csdn.net/qq_51347907/article/details/126911938