使用getter setter增加int值

时间:2013-03-08 05:25:35

标签: java

我要求增加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);
    }

 }

这是正确的方式我正在做什么或者这在语法上是错误的?

2 个答案:

答案 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();