继承:
- 类与对象:
- 对象是根据类来创建的具体实例
- 对象名可以调用属性以及方法
- 类: 相对于对象是抽象的
- 对象:是具体的
- 需要 中学生 小学生 大学生
- 三个都需要单独定义
- 处理他们的方法还得分开写
- 类与类 也有关系: 继承
- 关键字: extends
- 格式:
```java
public class 子类名 extends 父类名 {
// 属性
// 方法
}
```
- 继承的内容:
- 子类可以继承父类的哪些内容?
- 所有的
- 子类以及子类的对象可以调用到继承的哪些属性和方法?
- 属性 方法 以及其他代码的访问权限修饰符 相关
- 访问权限修饰符:
- public: 公有 整个项目下
- protected: 受保护 同包下 / 其子类中
- private: 私有 本类中可以调用/ 子类就不能直接调用
- 不写: 默认 同包中
- 构造方法: 在创建子类对象 同时也会直接调用父类的构造方法
- 方法重写:
- 子类中可以重写父类的方法
- 格式要求是 与父类方法结构一致
- 子类以及子类对象优先调用子类重写之后的方法
- 在父类方法的基础上扩展
- super 关键字
- 子类中 直接指代父类 与 子类代码作区分
- super(); 父类的构造方法调用
- super.方法名(); 调用父类的方法
- 一般出现在子类中已经重写了这个方法的情况下
- 不重写的方法 可以直接调用 继承来的
- this 关键字
- 在每个类中指代本类的对象
- this(); 本类的构造方法调用
- this.方法名(); 表示调用本类的方法 以及本类继承的方法都可以调用
- this.属性名 表示 这个属性是当前类的属性 可以与 参数等一些变量做区分