2022-07-21 第八组 卢睿 学习心得

继承

类与类之间的关系

  1. 属性关系
  2. 参数关系
  3. 继承关系

生物
动物

动物

基类
Person、Cat、Animal可以叫做Biology的子类
Animal叫做Biology类的直接子类
Person、Cat叫做Biology的间接子类,Person、Cat叫做Animal的直接子类

超类
Person、Cat直接父类是Animal,写在extends关键字后面的类
Person、Cat间接父类是Biology

extends继承
在java中,继承是单继承,一个子类只能有一个直接父类,但是可以有多个间接父类
extends后面只能写一个类

继承能干什么?
访问权限修饰符
public
protected 受保护的,不同的包的子类可以访问
默认的
private

继承了父类的属性
继承了父类的方法

创建子类对象时,父类先被实例化,再去实例化子类
当一个类被实例化时,一定会先实例化它的直接和间接父类

子类的构造器可以有多个,但是必须和父类的构造器形式上统一

super关键字

代表调用父类的结构(属性,方法,构造器)

面试题:this和super的区别? 重载和重写的区别?
都可以省略,先从子类找,再从父类找

在子类中当使用super调用父类的构造器时,super(age)必须是第一句话
在当前类中使用this调用本类的构造器时,this(name)必须是第一句话
在构造器中,如果需要使用super或this调用其他构造器,只能二选一,而且必须是第一句话

super指向父类,不代表任何对象
this指向的本类,代表当前类的对象,方法的调用者。

方法的重写

/**
 * 方法的重写(覆写,覆盖,Override)
 *
 * 子类可以重写父类的方法
 *
 * 方法的重写,我们可以利用到父类中方法已经运算过的结果,在结果的基础上
 *
 * 方法的重写,体现的就是继承得核心,就是为了扩展父类的功能
 *
 * 方法的重写的规则:(前提:继承与被继承的关系)
 * 1.访问权限:重写的方法的权限不能低于被重写的方法,开发中一般都是等于
 * 2.返回值类型:重写的方法的返回值可以和被重写的方法不同,但是必须是被重写方法返回值的子类
 * 3.方法名:必须相同
 * 4.参数列表:参数类型,参数个数必须相同
 * 5.抛出异常:重写的方法不能抛出比被重写的方法更大的异常
 *
 * 开发中,如果要重写,基本就是一模一样,我们只变方法体
 */

this可以代表对象
super代表不了对象

posted @ 2022-07-22 14:19  LegendR  阅读(36)  评论(0)    收藏  举报