一说到java面向对象编程,我们就想到面向对象的三大特性,封装,继承和多态。封装是 Java 类的编写规范、继承是类与类之间联系的一种形式,而多态为系统组件或模块之间解耦提供了解决方案。
封装
概念:隐藏类的属性和具体实现细节,只提供相关的接口和方法来对隐藏信息进行控制和修改。
封装的思想保证了类内部数据结构的完整性,使用户无法轻易直接操作类的内部数据,这样降低了对内部数据的影响,提高了程序的安全性和可维护性。
封装的目的:
- 只能通过规定的方法访问数据
- 隐藏类的实现细节
- 方便加入控制语句
- 方便实现修改
访问控制符:
在进行封装的时候做好访问权限控制,目前在java中有四种访问控制以及它们的访问范围如下表所示:
default拒绝一切包外访问,protected接受包外的子类访问。
getter和setter方法:
getter | setter |
---|---|
用于获取属性的值 | 用于修改属性的名 |
public class Demo1 {
public String name; // 公有的
protected int age; // 受保护的
char sex; // 默认的
private int num; // 私有的
//获取私有成员num值
public int getNum() {
return num;
}
// 设置私有成员num的值
public void setNum(int num) {
this.num = num;
}
}
继承
概念:继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或类从父类继承方法,使得子类具有父类相同的行为。
继承的特点:
- 继承鼓励类的重用
- 继承可以多层继承
- 一个类只能继承一个父类
- 父类中private修饰的不能被继承
- 构造方法不能被继承
使用继承:
1.编写父类
有公共的属性和方法
package test;
/**
* 父类
*
*/
public class Father {
//父类中的成员属性
public String name;
public int age;
public char sex;
/**
* 父类中的成员方法
*/
public void say