封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。
下面列出了使用封装的一些好处:
- 通过隐藏对象的属性来保护对象内部的状态。
- 提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。
- 禁止对象之间的不良交互提高模块化。
参考这个文档获取更多关于封装的细节和示例。
自己实验写的code,见笑
peoplePack.JavaApp.java
1 package peoplePack; 2 import static java.lang.System.out; 3 import youngPack.Young; 4 5 public class JavaApp { 6 7 public static void main(String[] args) { 8 People p = new People(); 9 p.name = "PeopleName"; 10 out.println(p.name); 11 12 p.setMoney((float) 100.0); 13 out.println(p.getMoney()); 14 15 p.ID = 200; 16 out.println(p.ID); 17 18 Young y = new Young(); 19 } 20 21 }
People.java
1 package peoplePack; 2 3 public class People { 4 public String name; 5 6 private float money; 7 8 public float getMoney() { 9 return money; 10 } 11 12 public void setMoney(float money) { 13 this.money = money; 14 } 15 16 protected int ID; 17 18 }
youngPack.Young.java
1 package youngPack; 2 import peoplePack.People; 3 4 public class Young extends People{ 5 6 public void dosth() 7 { 8 People p1 = new People(); 9 p1.name="YoungName"; 10 p1.ID=456; //ID has protected access in People 11 } 12 13 }