Java基础知识总结复盘之封装、继承、多态
面向对象有三个基本特征:封装、继承、多态
而面向对象是三个特征都是为了解决特定问题而设计出来的。
封装:解决数据安全问题
继承:解决代码冗余(重复)问题
多态:解决程序扩展(新增功能)的问题
封装
封装:解决数据安全问题
封装是通过set和get方法把数据编辑的方式减少到只能通过set方法和反射等等方式设置,以保证数据安全。
封装最重要的原则就是尽可能隐藏对象的内部实现细节,将可公开的数据公开,以最终达到增加安全性的前提,保证数据的可读性。
继承
继承:解决代码冗余(重复)问题
子类继承父类的属性和方法,同时子类可以新增属性或者方法,但是父类被私有属性修饰的方法或者属性,子类无法被继承和访问。
Java是单继承语言,即一个子类只允许有一个父类,但是可以实现多级继承,及子类拥有唯一的父类,而父类还可以再继承。
子类可以重写覆盖继承自父类的方法。
多态
多态:解决程序扩展(新增功能)的问题
从一定角度来看,封装和继承似乎是为了多态准备的。
什么是多态,指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。
实现多态的三个条件:
1.继承(继承是多态的基础,没有继承就没有多态)
2.子类重写父类方法(多态下调用子类重写的方法)
3.父类引用指向子类对象(子类到父类的类型转换)
实现多态方式:
1.接口多态性
2.继承多态性
3.通过抽象类实现的多态性
多态执行的规律:运行看左边编译看右边