之前我们介绍过,引用类的成员变量为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方法可以限制和检验传入的参数,隐藏对象内部的数据结构- 属性不具备多态性
