什么是封装
封装,顾名思义是把东西装起来封住不让它露出来。在面向对象里,封装是对数据的隐藏,使表现出来的更简单,通常情况下,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,称为信息隐藏。
使用方法
定义一个类,我这里定义Student类,里面的所有属性为私有,代码如下:
public class Student {
private String name;
private char sex;
private int age;
如果在主方法中调用Student类中的属性会报错,如下
public static void main(String[] args) {
Student student = new Student();
student.name = "binbin";
}
如果把Student类中属性的关键字private改为public,就可以成功调用。
属性关键字为private就是属性私有,是不可以直接用的。Student这个类被封装起来了,这时就需要一些方法来获取和设置其中的数据 即 public 的 get / set 方法
- get 可以获得这个数据
- set 对这个数据设置值
示例代码:
public String getName(){ //获得数据
return this.name;
}
public void setName(String name) { //对数据赋值
this.name = name;
}
public static void main(String[] args) {
Student student = new Student();
// student.name = "binbin";
student.setName("binbin");
System.out.println(student.getName());
}
可以成功调用,运行结果如下:
binbin
备注:快捷键的使用,快速创建上述方法:
Alt+Insert 选中Getter and Setter,选择要添加的方法即可。
封装的意义
- 提高程序的安全性,保护数据
- 隐藏代码的实现细节
- 可以使接口统一,成为一种规范
- 良好的封装便于修改内部代码,提高系统的可维护性,降低维护成本