一.继承
1.概述
子类继承父类,可以直接使用父类中非私有成员,子类不用写重复代码,提高了代码的复用性
2.关键字
extends
3.成员访问特点
a.成员变量
看等号左边是谁,先调用谁中的成员变量,子类没有找父类
b.成员方法
看new的是谁,先调用谁中的成员方法,子类没有找父类
4.方法的重写
a.概述
子类中有一个和父类从方法名以及参数列表一样的方法
b.验证
@Override
c.使用场景
功能的升级改造
5.继承中的构造的特点
new子类对象时先初始化父类
6.继承的特点
a.基础只支持单继承,不能多继承
b.继承支持多层继承
c.一个父类可以有多个子类
二.super和this关键字
1.super
a.概述
代表的是父类引用
b.使用
调用父类构造方法 -- super()或super(实参)
调用父类成员 -- super.成员变量名
调用父类成员方法 -- super.成员方法名(实参)
2.this
a.概述
代表的是当前对象
哪个对象调用的this所在的方法,this就代表哪个对象
b.使用
调用当前对象的构造 -- this()或this(实参)
调用当前对象的成员变量 -- this.成员变量名
调用当前对象的成员方法 -- this.成员方法名(实参)
3.注意
super和this如果在构造中使用,都必须在构造第一行,所以不能同时写出
三.抽象
1.抽象方法
修饰符abstract 返回值类型 方法名(形参)
2.抽象类
public abstract class 类名{ }
3.特点
a.抽象方法所在类一定是抽象类
b.抽象类中不一定非得有抽象方法
c.抽象类中可以有私有属性构造,其他方法等
d.抽象类不能new对象,只能new子类对象
e.抽象类中可以有构造方法,但是是供子类对象时,初始化父类属性使用的