继承extends_抽象abstract
继承
"共性抽取" //把多个类当中 相同的成员变量和成员方法,抽取到一个父类当中,简化代码量。
A. 静态: "共享数据"
B. 继承: "共性抽取"
单一继承: 一个类只能有一个直接父类。
多级继承: 一个类除了有一个直接父类以外,还可以有其他的父类(爷爷类,太爷爷类....祖宗十八代...)
a. 方法的局部变量: 变量名称
b. 本类的成员变量: this.变量名称
c. 父类的成员变量: super.变量名称
I. 父类方法的返回值类型 >= 子类方法的返回值类型
II. 父类方法的权限修饰符 <= 子类方法的权限修饰符 //public>protected>(default)>private
在创建子类对象的时候,优先执行 父类构造,再次执行子类构造。(父类构造在前,子类构造在后)
a.访问本类构造方法 this(参数);
b.访问父类构造方法 super(参数);
抽象 abstract
1. 抽象类不能创建对象,但是有构造方法。(在创建子类对象的时候,会执行父类构造,可以帮抽象类初始化成员变量)
2. 抽象方法所在的类,必须是抽象类。但是抽象类当中,不一定有抽象方法。(抽象方法和抽象类的关系)
3. 如果一个类继承了抽象类,那么他有两个选择: 要么覆盖重写所有的抽象方法,要么把自己变成抽象类。