一、封装
1、概念
封装就是把对象的属性和方法等信息隐藏封装到对象内部,外界的对象不能直接访问,需要通过特定的方法来进行访问。相当于一个黑盒操作。
2、实现
Java中通过控制访问权限来实现封装,控制访问权限的关键字有以下四种,从上到下权限依次增加:
- private:只能访问相同包中的相同类
- default:可以访问同一包中的不同类
- protected:可以访问不同包中的子类
- public:可以访问不同包中的不同类
二、继承
继承子类可以复用父类中的方法,实现了代码复用,并且继承明确了代码的层次关系,使代码结构更清晰。继承的关键字:extends
- 子类无法继承父类的私有成员
- 在构建对象时,子类和父类会一同构建对象
- java只支持单继承,一个类只能继承一个父类,不支持继承多类,但是支持多层继承
- 所有类都直接或者间接的继承Object类
- 子类访问成员变量/方法遵循就近原则
- super关键字用于访问父类的成员
- this关键字主要在本类访问本类成员成员变量
三、多态
继承/实现情况下的一种现象,表现为:对象多态、行为多态。实现多态的条件:
- 必须有继承关系
- 子类需要对父类中的方法重写
- 通过父类的引用调用重写的方法
优点:
- 可以实现解耦,右边可以随时切换,后续业务随机改变。
- 可以使用父类类型的形式参数
- 强制转换:把父类转换成子类,存在继承实现关系就可以在编译阶段进行强制类型转换,编译阶段不会报错。运行时如果真实类型与强转后的类型不同,就会报类型转换异常(强转前使用instanceof关键字判断真实类型)