概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,通过该类提供的方法来实现对隐藏信息的操作和访问,隐藏对象的信息,留出访问接口。
特点:只能通过规定的方法访问数据,隐藏类的实例细节,方便修改和实现,通过get/set方法避免赋值错误的问题。
实现步骤:①修改属性的可见性,设为private(只能在当前类内访问) ②创建getter/setter方法,设为public用于属性的读写 ③在getter/setter方法中加入属性控制语句,对属性值的合法性进行判断,这两种方法是在类中创建Public的公共方法
案例
public void setMonth(int month) {
if (month <= 0)
System.out.println("输入信息错误,年龄必须大于0");(此处也可以通过异常进行处理)
else
this.month = month;
}
注意:只有getXXX方法的属性是只读属性,只有setXXX方法的属性是只写属性。
有set方法那么构造方法中就不用直接赋值了,可以用set方法来赋值还能检测赋值是否规范
public Cat(int month) {
// this.month=month;此句不用
this.setMonth(month);
}