我要求增加int值。所以我为它做了getter / setter,我将这个逻辑应用于int的增量值:
public class MyOrderDetails {
private int count = 0;
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public void increment(int increment) {
setCount(getCount() + 1);
}
}
这是正确的方式我正在做什么或者这在语法上是错误的?
答案 0 :(得分:5)
你为什么不这样做?
public void increment() {
count++;
}
对于
的increment()函数的int参数是什么?答案 1 :(得分:4)
一个。如果您只想增加,则无需提供任何设置器。
湾在
public void increment() {
setCount(getCount() + 1);
}
您可以直接访问count变量,因此count++
就足够了,不需要setCount。
℃。通常需要重置方法。
d。 count ++不是原子的,因此如果在多线程场景中使用它,则进行同步。
public synchronized void increment() {
count++;
}
所以最后课程将是:
class Counter{
private int count = 0;
public int getCount(){
return count;
}
public synchronized void increment(){
count++;
}
public void reset(){
count = 0;
}
}
所以你可以使用类:
Counter counter = new Counter();
counter.increment() //increment the counter
int count = counter.getCount();