我正在学习get和set方法,我只是想知道它们是否只能是公共的,是否需要为类中的每个实例变量编写它们?

最佳答案

没有。

绝不要编辑许多内部变量,例如计算状态。

如果一个字段是私有的,并且没有getter / setter,那么这样做是有原因的,只要您不需要在类外访问它,就可以接受。

如果是公共的,那就没有意义了;如果是受保护的,它是按包或子类的,不一定在同一包中。

没有修饰符,它是程序包私有的。

如果您想将某个字段设为私有并由getter / setter进行控制,则也可以使用访问级别。

关于这一点,如果需要,可以在设置器中执行验证以确保仅设置可接受的值。然后,您可以默默拒绝,如果setter是布尔值,则返回false,或者在严重情况下引发异常。

关于java - Java中Get和set方法的困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17537940/

10-10 22:51