一、封装
1、什么是封装
封装就是隐藏对象的封装就是隐藏对象的属性和实现细节,仅对外提供访问方式。
2、封装的好处
1)隐藏了具体实现,提高了代码的安全性
2)提高代码的复用性
3)防止对象间的不良交互,提高代码的模块化和安全性
4)降低代码耦合性,方便修改代码
二、继承
1.什么是继承
继承就是子类继承父类的特征和行为,使得子类对象具有父类的实例域和方法。或子类从父类继承方法,使得子类具有父类的相同行为
2.继承的优点
1)代码共享,减少工作量,每个子类都有父类的方法
2)提供了代码的复用性
3)让类与类之间产生了关系,是多态的前提
3.java继承的特点
1)java只支持单继承,不支持多继承
2)java支持多层继承(继承体系)
4.继承的注意事项
1)子类只能继承父类所有非私有的成员(成员方法和成员变量)
2)子类不能继承父类的构造方法,要用super关键字去访问父类的构造方法
3)不要为了继承部分功能而去使用继承
5.什么时候使用继承
如果类之间存在的is a的关系时就可以使用继承
3、多态
1.多态概述
某一个事物在不同时刻表现出的不同状态
2.多态的前提
1)要有继承关系
2)要父类引用指向子类对象 Fu f = new Zi()
3)要有方法重写(这是多态的实现方式)
3.多态中成员访问特点
1)成员变量
编译看左边,运行看左边
2)构造方法
创建子类对象的时候回访问父类的构造方法,对父类的数据进行初始化。
3)成员方法
编译看左边,运行看右边
4)静态方法
编译看左边运行看左边
4.多态的好处
1)提高代码的维护性(继承保证)
2)提高了代码的扩展性
5.多态的弊端
不能使用子类特有的功能
强行使用也可以,需要向下转型,但是需要额外消耗内存