head first java page 81
要实现程序从不良数据到可以保护数据而且允许特定人修改数据的方式:
隐藏数据, 即使用公有与私有这两个存取修饰符(access modifier).
封装的基本原则:
将实例变量标记为私有的,并提供公有的getter与setter来控制存取动作.
i.e. 将实例变量标记为Private, 将getters 与setters 标记为 public.
任何有值可以被调用的地方,都可用调用方法的方式来取得该类型的值, 如:
1 int x = 3+24; 2 可以改写成: 3 int x=3+ one.getSize();
1 class GoodDog{ 2 private int size; 3 4 public int getSize(){ 5 return size; 6 } 7 8 public void setSize(int s){ 9 size=s; 10 } 11 12 13 void bark() { 14 if(size>60){ 15 System.out.println("Woof! Woof!"); 16 } else if (size>14){ 17 System.out.println("Yip! Yip!"); 18 } 19 } 20 } 21 22 23 class GoodDogTestDriver{ 24 public static void main(String[] args){ 25 GoodDog one = new GoodDog(); 26 one.setSize(70); 27 GoodDog two=new GoodDog(); 28 two.setSize(8); 29 System.out.println("Dog one: "+one.getSize()); 30 System.out.println("Dog two: "+two.getSize()); 31 one.bark(); 32 two.bark(); 33 } 34 }