什么是封装
- 封装就是包装的意思,就是将类中的属性私有,提供公有的方法访问的技术。
通常情况下,公有方法被定义为 getters 和 setters 。因此想要访问类内变量的任何其他类要使用 getters 和 setters 方法。
- 一旦属性被声明为私有,那就不能在类的外部被访问到了,从而保护了类中的数据。
- 基于这个原因,封装有时也被称为数据隐藏。
封装的作用
- 减少耦合。
- 类内部的结构可以自由修改。
- 可以对成员进行更精确的控制。
- 隐藏信息,实现细节。
通过封装,可以实现对类中属性的数据访问限制,同时增加了程序的可维护性。
由于取值方法和赋值方法隐藏了实现的变更,因此并不会影响读取或修改该属性的类,避免了大规模的修改,程序的可维护性增强。
封装的特点
1.使用private
修饰成员变量
2.使用setter/getter
方法去操作成员变量
示例代码
public class Student {
//使用private将属性私有化
private String name;
private int age;
//提供公有的方法访问私有属性
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
扩展
封装和构造器冲突吗?
不冲突。构造方法可以初始对象。构造方法只能在实例化对象的时候才能调用(也就是new语句)。而封装属性,new出对象后,随时都可以调用。