1、继承的概述:将多个类抽取位一个独立的类,让独立的类和多个类产生继承关系
继承 的关键字:extends
格式:
class 子类名 extends 父类名{
...
}
2、继承的特点:子类继承父类,是继承了父类所有的东西(成员变量,成员方法,包括私有),但是子类不能使用私有的东西,只能通过父类的公共的访问间接的让子类来访问它。
3、继承的好处:1)可以实现很好的封装行
(2)提供了代码的复用性,解决了代码的臃肿
(3)是多态的前提(多态的前提是必须有继承关系)
4、使用继承的注意事项:
注意事项:
(1)子类只能继承父类所有非私有的成员(成员方法和成员变量)
(2)子类不能继承父类的构造方法,但可以通过super关键字去访问父类构造方法。
什么时候使用继承:
(1)需要从基本类中得到重用的代码
(2)需要对不同的数据类型使用相同名称的类和方法
(3)通过改变一个基本类,就改变所有的派生类
5、多态的概述:在同一个时刻,体现出来的不同状态;
6、多态的前提: (1)必须有继承关系:子类继承父类
(2)必须有方法重写:
(3)必须有父类父类的引用指向子类对象
7、多态中成员访问的特点: (1)成员变量:编辑看左,运行看左
(2)成员方法(非静态):编辑看左,运行看右(存在方法重写)
(3)构造方法:无论子类还是父类,都是对对象进行初始化
(4)静态成员方法:编辑看左,运行看左(静态和类有关系,算不上方法重写)
8、多态的好处和弊端:多态的好处:
(1)可以提高代码的复用性:继承保证
(2)可以提高代码的扩展性:由多态保证
多态的弊端:
(1)父类引用指向子类对象
(2)通过父类的引用调用子类特有功能,不能调用
9、如何解决多态的弊端: 向下转型:将子类的引用强制转换为父类的引用
10、什么是向下转型?与之对应的向上转型?
向上转型:
在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。即将子类对象转为父类对象。
向下转性:
把父类对象转为子类对象(在向下转型之前,必须的先向上转型)