1、什么是继承:

当多个类中,有相同的成员的时候,我们把这个相同的成员抽取到一个类里边,我们称它为父类(官方说法:基类或超类),由父类生成的类,称之为该类的子类(官方说法:派生类)
就是多对一的关系;一个父类可以有多个子类
例如:动物(父类):猫(子类),狗(子类),人(子类)

2、建立继承关系的特点:

子类自动拥有父类中可继承的成员
子类可以有自己的成员

3、建立继承关系的好处:

提高代码的复用性
让类与类产生了关系——》继承关系 多态的前提

4、建立继承关系的格式:extends 关键字

  1. class 父类 { ... }
  2. class 子类 extends 父类 { ... }

5、子父类的联系:

子父类 的 成员变量:

如果子父类的公有成员不重名,不影响调用
如果重名,需要用super关键字调用
如果是父类的私有成员,需要用父类共有的get 或set方法调用

子父类 的 成员方法:

如果成员方法不重名,不影响调用
如果重名,那就叫做方法重写(Overmide)方法名&返回值类型&参数列表都相同
方法重写只存在与继承关系的子类中

方法重写:

子类增加一些父类没有的新的功能
子类方法覆盖父类方法,必须要保证权限大于等于父类权限。

6、构造方法的执行特点:

构造方法的名字与类名一致,所以子类无法继承父类的构造方法
构造方法中的作用是用来初始化成员变量的(先父后子,默认有一个super()且在第一行)

7、super和this:

super:代表父类的存储空间标识
this:代表当前对象的引用(谁调用就代表谁)

super:

super.成员变量 ‐‐ 父类的
super.成员方法名() ‐‐ 父类的

this:

this.成员变量 ‐‐ 本类的
this.成员方法名() ‐‐ 本类的

访问构造:

this(…) ‐‐ 本类的构造方法
super(…) ‐‐ 父类的构造方法

8、继承:

1、Java只支持继承
2、Java支持多层继承
3、子类和父类是一种相对的概念
4、一个父类可以有很多个子类

9、抽象类:

我们把只有方法名没有方法体的类称之为抽象类
包含抽象方法的类就是抽象类
但抽象类中不一定就用抽象方法,(关键字:abstract)
继承抽象类的子类必须重写父类所有的抽象方法

  1. public abstract class 类名字 { }

抽象方法:

只有方法的声明,没有方法体的方法,就是抽象方法
且抽象方法所在的类必定是个抽象类

  1. 修饰符 abstract 返回值类型 方法名 (参数列表);