封装的概念
封装(encapsulation)是与对象有关的一个重要概念。对象中的数据称为实例域(instance fields),对于每个特定的类实例(对象)都有一组特定的实例域值。实现封装的关键在于绝对不能让类中的方法直接地访问其他类的实例域。程序仅通过对象的方法与对象数据进行交互。封装给予对象了“黑盒”特征,这是提高重用性和可靠性的关键。一个类将类的某些信息隐藏在类的内部使得它可以全面地改变存储数据的方式,只要仍旧使用同样的方法操作数据,其他对象就不会知道或介意所发生的变化。
封装的目的
保护当前类的某些属性和方法不被外部所见
封装的好处
1. 只能通过规定的方法访问数据,提高数据的安全性
2. 操作简单
3. 隐藏了实现,方便修改和实现
封装的实现
1. 使用private修饰需要被封装的属性(即不能通过对象名.属性名的方式直接访问对象的属性)
2. 提供一个公共的方法设置或者获取该私有的成员属性
注:一般在set方法中加入逻辑判断,过滤掉非法数据。
命名规范:
set属性名();
get属性名();
public class Person{
private String name;
private int age;
public int getAge(){
return age;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public void setName(String name){
this.name = name;
}
}
规范 : 在现实开发中一般实体类的所有成员属性(成员变量)都要封装起来
注:封装的类名可能冲突,用包可以区分