Java封装
为什么要封装?
数据如果不封装会暴露实例变量,导致泄露资料,或被人恶意修改。
暴露的意思是可通过圆点运算符来存取,例如:
dog.size = 80;
别人可以把值修改为任意值,不安全。
保护数据的方法:数据隐藏
使用public和private这两个存取修饰符。
封装的基本原则:
1. 将实例变量标记为私有(private);
2. 提供公有(public)的方法来控制存取动作。
//GoodDog.java 封装
public class GoodDog {
private int size; //不能通过点运算符修改
public int getSize() {
return size;
}
public void setSize(int s) {
size = s;
}
void bark() {
if (size > 60) {
System.out.println("Woof!Woof!");
} else if (size > 14) {
System.out.println("Ruff!Ruff!");
} else {
System.out.println("Yip!Yip!");
}
}
}
public class GoodDogTest {
public static void main(String[] args) {
GoodDog one = new GoodDog();
one.setSize(70);
GoodDog two = new GoodDog();
two.setSize(8);
System.out.println("Dog one: " + one.getSize());
System.out.println("Dog two: " + two.getSize());
one.bark();
two.bark();
}
}