编程语言
首页 > 编程语言> > java-更改已实例化的实例变量的值的正确方法是什么?

java-更改已实例化的实例变量的值的正确方法是什么?

作者:互联网

如果我有一个具有私有可见性的实例变量,我应该使用setter来更改其值,还是直接更改该值?

此示例中的实例变量将仅在该类中进行更改,因此设置器将是私有的.我认为使用setter是正确的方法,因为它可以本地化更改方式/更改时间,但是由于某些原因,这只是困扰我的事情!

请参阅下面的代码,这可能有助于更清楚地表达我的问题

public class A {

private int i;

public A() {
   i = 5
}

private void doSomeCalculationsA() {
   //work done here which results in the value of i being directly changed
   i = 7
}

private void doSomeCalculationsB() {
   //work done here which results in change value of i being changed via the setter
   setI(5)
}

private void setI(int newValue) {
   i = newValue;
}

}

解决方法:

我倾向于认为在大多数情况下更简单更清晰.如果您的setI只会成为setter,那么我就不会拥有它.如果您想暗示该方法有一天可以做更多的事情,则可以考虑拥有一天,但对我而言,YAGNI是最好的方法.

“Always implement things when you actually need them, never when you just foresee that you need them.”

标签:instance-variables,java
来源: https://codeday.me/bug/20191101/1983025.html