先看一个下面的例子
public class Father {
private int i;
public int getI() {
return i;
}
public void setI(int i) {
//保证数据安全 疑问是子类继承的话会改变父类的I值吗
if (i>0){
this.i = i;
}
}
}
这里i只能是数据大于0 的数据,如果i是public修饰的那么其他人可以给i赋予任意值,数据不安全,但是如果private修饰,其他任何类都只能通过set方法修改i值,保证了数据安全。这种方式常用于继承体系中,私有化父类属性,提供公共方法让子类访问。