假设我有一个单独的GUI类,该类具有一个称为“ guiWait”的公共布尔值,并且还具有一个返回guiWait的布尔方法。

之间有什么区别:

while(gui.guiWait)...




while(gui.getGuiWait())...

最佳答案

区别在于可见性。当像第一个示例一样使用guiWait public时,外部调用者可以修改该值。如果使用方法并将变量设置为private,则调用者无法修改guiWait变量(尽管如果变量可变,他们可以修改其引用的对象)。此外,如果您习惯使用getter和setter,那么以后如果需要在获取或设置过程中添加逻辑(例如,需要使值来自某个其他新字段),那么您已经有了方法并且不会通过使变量private破坏任何调用者的代码。因此,在Java中始终使用getter和setter被视为“最佳实践”。

10-06 02:37