2022-07-21 第六组 李俊琦 j继承

继承

今日重点

  1. 继承有什么作用?
  2. 继承的特点
  3. 什么条件下可以使用继承?
  4. 方法的覆盖(重写)
  5. this与super
  6. 构造方法中存在的隐含的操作

学习内容

1. 继承有什么作用?

基本作用:子类继承父类,代码得到复用
主要作用:继承是方法覆盖的重写和多态机制的前提(有了继承关系才有后来的方法覆盖重写和多态机制)

2. 继承的特点

若A继承B,我们称B为父类(基类、超类),称A为子类(派生类)。
在Java中只支持单继承,这也是体现java简单性的一点。
虽然Java不支持多继承,但可以实现间接继承(A–>B–>C)。
子类可以拥有父类“特征”,子类也可以拥有自己的“特征”。
如果一个类没有编写继承关系,那么这个类默认继承Object(是祖宗类,也就是说所有的类的实例都有Object类的特征)。
继承的缺点:在两个类实现继承关系后,会导致代码耦合度提高(若父类修改内容,会导致子类收到影响)

3. 什么条件下可以使用继承?

凡是能用“is a“(类与类之间的关系)能描述的类,都可以使用继承
  Cat is Animal -----> class Cat extends Animal
  Dog is Animal -----> class Dog extends Animal
  Monkey is Animal -----> class Monkey extends Animal

4. 方法的覆盖(重写)

方法重载:

什么时候会考虑使用方法重载?
在一个类中,如果方法的功能相似,建议将取相同的名字,这样代码美观、便于编程

什么条件满足后会构成方法重载?

前提:在同一个类中
方法名相同
参数列表不同(参数的个数,参数的类型,参数类型的顺序)
方法重载于修饰符列表和返回值无关

方法重写:

什么时候会考虑使用方法重写?

当子类从父类继承过来的方法无法满足当前子类的业务需求时,子类有权利对这个方法进行重新编写

什么条件满足后会构成方法重写?

前提:在继承关系中
方法名和参数列表都相同
访问权限不能更低,可以更高
子类返回值类型必须小于等于父类返回值类型
子类不能比父类抛出更宽泛的异常

5. this与super

this:

1.this是关键字,是一个引用保存了对象自身的地址,存储在对象内部,代表对象本身。

2.this可以用在实例方法和构造方法中。

3.this不能用在静态方法中

4.this在大多数情况下是可以省略的——当局部变量和实例变量同名时不能省略

5.语法格式:this.属性名/方法名 | this()

super

1.super是关键字,代表的是当前对象(this)的“父类型特征1”
2.super可以用在实例方法和构造方法中(子类构造方法第的第一行有一个隐含的“super()”)
3.super不能用在静态方法中
4.super在大多数情况下是可以省略的——当子类对象的属性或实例方法和“父类型特征”相同时,需要使用super区分两者。
5.语法格式:super.属性名/方法名 | super() —> 初始化对象父类型特征

posted @ 2022-08-04 14:57  闹市闲人甲  阅读(16)  评论(0编辑  收藏  举报