我应该在同一个类中使用getXXX()还是(private)变量?

时间:2014-01-29 05:27:27

标签: java getter-setter

java我正在编写课程时,建议使用getXXX()方法或使用'this'关键字的变量名称来引用private个变量在同一个类public方法?

4 个答案:

答案 0 :(得分:3)

答案是 - 这取决于。

是的,我还建议你首先制作变量private,有些情况下可能不需要这些变量,但是让我们留在主题上,只允许通过getter访问它们

现在假设您的实例字段有一个public getter,这会引发一些其他人想要覆盖此方法并以某种方式更改它的可能性,可能会根据新值返回一个计算值已经介绍或者什么都有。

如果private字段是任何内部计算的一部分或以某种方式更改对象逻辑的状态,那么您开始遇到问题,因为您现在忽略了getter返回的值,会产生不良后果。

在这种情况下,您必须考虑getter在private字段上返回的值。

答案 1 :(得分:2)

this.pvtMemberVariable(或)pvtMemberVariable将在同一个类中使用。 getters是外部类使用的公共方法

答案 2 :(得分:0)

保持变量私有的原因是将它们隐藏在其他类的不必要修改之外。但是,在访问自己的类中的私有变量时,开发人员会了解其状态。直接使用自己类中的私有成员是可行的。这将减少方法调用并实现隐私目的。

答案 3 :(得分:0)

我认为这取决于你的情况。对我来说,我经常使用getter方法的一种情况是,如果变量可能尚未初始化,例如,如果我使用延迟初始化。但在大多数情况下,我只是直接引用变量。