零基础Java:第九讲(面向对象特征之二:继承、方法的重写)

130 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

面向对象特征之二:继承

  • 面向对象特征之二:继承

    • 如下:每个类中的属性都有相同部分,如果均使用代码实现会很繁重
    • 设置方式

      • 第一步,设置父类(基类或超类),编写共性代码
      • 第二步,子类extends继承之后,再写特有部分
    • 继承作用

      • 提高代码复用性
      • 让类与类之间产生了关系,提供了多态的前提
      • 继承是有逻辑关系,不要仅仅为了获取其他类中的某个功能而去继承。例如狗和人类都有相同的年龄、性别和名字属性,但不能因为这样的共有属性而继承,存在逻辑问题
    • 注意

      • 子类不是父类的子集,而是父类的“扩展”
      • 子类不能直接访问父类的私有的(private)成员变量和方法
      • Java只支持单继承,不允许多继承,即一个子类只能有一个父类,一个父类可以派生出多个子类
    • 练习

      • 第一步
      • 第二步
      • 第三步

方法的重写(override)

  • 方法的重写(override)

    • 定义

      • 在子类中可以根据需要对从父类中继承来的方法进行改造,也称方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类的方法。
    • 要求

      • 重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型。(即子类重写父类的方法,只是重写编写方法体(大括号内)的代码)
      • 重写方法不能使用比被重写方法更严格的访问权限
      • 重写和被重写的方法须同时为static的,或同时为非static的
      • 子类方法抛出的异常不能大于父类被重写方法的异常
    • 具体操作

      • 第一步,写父类Person并写方法setInfo
      • 第二步,写子类Student并重写setInfo,空白点击alt+/键选择重写方法
      • 第三步,重写方法体