内容
- 把字段(成员变量)和实现细节隐藏起来,不允许外部直接访问
- 把方法暴露出来,让方法控制这些成员变量进行安全的访问和操作
因此,封装就有两个含义:把该隐藏的隐藏起来,把该暴露的暴露出来。
- java提供了三种访问权限,准确的说还有一种是默认的访问权限,加上它一共四种。
private 在当前类中可访问(需要get和set方法)
default 在当前包内和访问
protected 在当前类和它派生的类中可访问
public 公众的访问权限,谁都能访问
用例
public class EncapsulationTest {
public static void main(String[] args) {
Anni anni = new Anni();
anni.setName("小星星");
anni.setLevel(50);
anni.setSkill('早');
System.out.println(anni.getName());
System.out.println(anni.getLevel());
System.out.println(anni.getSkill());
}
}
class Anni{
private String name;
private int level;
private char skill;
public void setName(String name){
this.name=name;
}
public String getName(){
return this.name;
}
public void setLevel(int level){
if (level>=1&&level<=18)
this.level=level;
else
this.level=-1;
}
public int getLevel(){
return this.level;
}
public void setSkill(char skill){
this.skill=skill;
}
public char getSkill(){
return this.skill;
}
}