Encapsulation (封装) Java面向对象特征之一
概念
将抽象得到的数据和行为相结合,形成一个有机的整体。也就是将数据和操作数据的源代码进行有机的结合,形成“类”。
类中的数据被存放在成员变量中(Java语言中称作字段),行为对应类中的成员方法,用来包含操作数据的源代码。
在设计类时可以根据实际需要隐藏其中的数据和实现细节。
将对象的信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过类提供的方法来实现对内部信息的操作和访问。
实现
通过控制在程序中数据的读取、修改的访问级别。
公开的(public)
受保护的(protected)
包私有的(缺省的)如果某个字段没有显式访问修饰符,则默认就是 包私有。
私有的(private)
通常会将保存数据的成员变量私有化,若想接触数据只能通过 公开接入方法 的方式。
比如:getter 和setter。
public class Student {
private String name ;
public String getName() {
return name ;
}
public void setName( String name ) {
this.name = name;
}
public static void main(String[] args) {
Student s = new Student();
s.setName( "阿颜" );
String name = s.getName();
System.out.println( "name : " + name );
}
}