乐趣区

关于java:JAVA基础继承

继承

概念

  • 当多个类之间有雷同的特色和行为时, 能够将雷同的内容提取进去组成一个 <u> 公共类 </u>. 让多个类排汇公共类中已有特色和行为. 而多个类型只须要编写本人独有特色和行为的机制, 叫做 继承
  • 在 Java 语言中应用 extends 关键字来示意继承关系
public class Worker extends Person{} // 示意 Worker 类继承自 Person 类

// 其中 Person 类叫做 超类 / 父类 / 基类
// 其中 Workder 类叫做 派 生类 / 子类 / 孩子类
  • 应用继承进步了代码的复用性, 可维护性及扩展性. 是 多态 的前提条件

特点

  • 子类不能继承父类的构造方法和公有办法, 但 <u> 公有变量能够被继承 </u>, 只是不能间接拜访
  • 无论应用何种形式结构子类的对象时都会 <u> 主动调用父类的无参构造方法来初始化从父类中继承的成员变量 </u>. 相当于在构造方法的第一行减少代码 super() 的成果
  • 应用继承必须满足逻辑关系 子类 is a 父类, 也就是不能滥用继承
  • Java 语言中只反对单继承不反对多继承. 也就是说一个子类只能有一个父类, 但一个父类能够有多个子类

办法重写

概念

从父类中继承下来的办法不满足子类的需要时, 就须要在子类中从新写一个和父类一样的办法来笼罩从父类中继承下来的版本. 该形式就叫做 办法的重写(Override)

准则

  • 要求 办法名雷同 , 参数列表雷同 , 返回值类型雷同. 从 Java5 开始容许返回子类类型
  • 要求办法的 拜访权限不能变小 , 能够雷同或者变大
  • 要求办法 不能抛出更大的异样

又见结构块与动态代码块

  • 先执行父类的动态代码块, 再执行子类的动态代码块
  • 执行父类的结构块, 执行父类的构造方法体
  • 执行子类的结构块, 执行子类的构造方法体
退出移动版