之前我们介绍过,引用类的成员变量为car.color
,但事实上 Java 程序员并不会这么干。原因在于,类中的属性必须私有化进行保护,从而防止任意实例都能够直接修改成员变量的值。
一般情况下,采取的做法是将成员变量访问权限设置为private
,并通过setter
和getter
方法来设置和获取值。
public class Girl {
private int age;
public void setAge(int age) {
this.age = Math.min(age, 18);
}
public int getAge() {
return this.age;
}
public static void main(String[] args) {
Girl girl = new Girl();
girl.setAge(17);
System.out.println(girl.getAge());
}
}
总结一下setter
和getter
方法的优点:
getter
方法可以返回结构化的数据setter
方法可以限制和检验传入的参数,隐藏对象内部的数据结构- 属性不具备多态性