Java中为什么要使用getter和setter?

时间:2019-04-29 03:17:17  来源:igfitidea点击:

通过使用getter和setter,程序员可以控制重要变量的变更,

例如只能在指定的范围内更改某个变量的值。

比如:

public void setNumber(int num) {
    if (num < 10 || num > 100) {
        throw new IllegalArgumentException();
    }
    this.number = num;
}

这就保证了number的值始终设置在10到100之间。如果变量 number可以直接更新,那么调用者可以为其设置任意值,特别是设置了不符合要求的值。

比如,如果他设置成300,就不符合10到100之间的要求。

obj.number = 300;

当一个变量被私有修饰符隐藏并且只能通过getter和setter访问时,它被封装。封装是面向对象编程(OOP)的基本原则之一,实现getter和setter是实现程序代码封装的方法之一。