Java面向对象三大特征
面向对象三大特征:封装、继承、多态。
一、封装
封装就是将一些细节信息隐藏起来,对于外界不可见。
封装性在Java当中的体现:
1、方法就是一种封装
2、关键字private也是一种封装
一旦使用了private进行修饰,那么本类当中仍然可以随意访问。但是!超出了本类范围之外就不能再直接访问了。
间接访问private成员变量,就是定义一对Getter/Setter方法
必须叫setXxx或者是getXxx命名规则。
对于Getter来说,不能有参数,返回值类型和成员变量对应;
对于Setter来说,不能有返回值,参数类型和成员变量对应。
注意:对应基本类型当中的boolean值,Getter方法一定要写成isXxx的形式,而setXxx规则不变。
二、继承
继承是多态的前提,如果没有继承,就没有多态。
继承主要解决的问题就是:共性抽取。
专业术语:
- 父类,也可以叫基类、超类
- 子类,也可以叫派生类
继承关系当中的特点:
1、子类可以拥有父类的“内容”
2、子类还可以拥有自己专有的内容。
在继承的关系中,“子类就是一个父类”。也就是说,子类可以被当做父类看待。
例如父类是员工,子类是讲师,那么“讲师就是一个员工”。关系:is-a。
定义父类的格式:(就是一个普通的类的定义)
public class 父类名称{
//...
}
定义子类的格式:
public class 子类名称 extends 父类名称{
//...
}
在父子类的继承关系当中,如果成员变量重名,则创建子类对象时,访问有两种方式:
-
直接通过子类对象访问成员变量;
等号左边是谁,就优先用谁,没有则向上找。 System.out.println(zi.num);
-
间接通过成员方法访问成员变量;
方法属于谁,就优先用谁,没有则向上找。
三、多态
博客内容用于记录自己学习后的收获,如有侵权请联系我删除