5. 基于自动化–Java面向对象之三大特征
一、封装:合理隐藏、合理暴漏
将代码通过函数将一些细节包装起来,防止外部代码的随机访问,要访问这些数据就必须通过调用函数来完成
private:同一个类
default:同一个类、同一个包
protected:同一个类、同一个包、子类
public:同一个类、同一个包、子类、所有类
二、继承
1.两个类之间通过extends关键字来描述父子关系,子类便可拥有父类的公共方法和公共属性
2.语法:public class 子类 extends 父类 {}
3.继承
父类定义共有的行为
子类可以继承父类的公共方法和属性来复用
子类可以通过定义父类没有的方法或者通过覆盖父类的方法来实现扩展
注意:
子类不能继承父类的private成员(属性、方法)
Java是单继承(一个类只能继承于一个类)
创建本类对象之前会先初始化父类对象
4.super和this关键字
super是父类对象的引用
this是当前类对象的引用
三、多态
用父类的类型指向子类的对象
要求:继承;父类类型接收子类对象
优点:扩展性强,解决了代码复用,降低类型耦合度