2
public int getA() {
    return a;
}

public void setA(int a) {
    this.a = a;
}

现在,如果我必须增加变量......哪一种是做的方式?

variables.setA(variables.getA()+1);

这样 a 总是为 1。

我可以解决问题吗?

4

2 回答 2

7

该代码是正确的(如果冗长)。以下:

public class Main {

    private int a = 0;

    public int getA() {
        return a;
    }

    public void setA(int a) {
        this.a = a;
    }

    public static void main(String[] args)
    {
        Main variables = new Main();
        System.out.println(variables.getA());
        variables.setA(variables.getA()+1);
        System.out.println(variables.getA());
        variables.setA(variables.getA()+1);
        System.out.println(variables.getA());
        variables.setA(variables.getA()+1);
        System.out.println(variables.getA());
    }
}

印刷

0
1
2
3

鉴于 的冗长variables.setA(variables.getA()+1),您可能希望将其包装到方法中(例如incrementA()addToA(int)等)

于 2013-03-07T16:41:45.447 回答
3

您增加变量的方式应该可行,但您也可以定义一个新方法:

public void incrementA(){
    a++;
}
于 2013-03-07T16:41:32.927 回答