如何从另一个类更新一个类中的变量

the*_*ole 5 java

我意识到这可能是一个非常基本的问题,但我无法弄清楚.

说我有这个主要课程

public class Main{

    public static void main(String[] args){
        int a = 0;
        AddSomething.addOne(a);
        System.out.println("Value of a is: "+String.valueOf(a));
    }
}
Run Code Online (Sandbox Code Playgroud)

这是AddSomething课程和addOne()方法

public class AddSomething{

    public static void addOne(int a){

        a++;

    }
}
Run Code Online (Sandbox Code Playgroud)

addOne方法不添加任何东西

System.out.println("Value of a is: "+String.valueOf(a));
// Prints 0 not 1
Run Code Online (Sandbox Code Playgroud)

如何在类中创建Add类更新变量?aMain

Era*_*ran 5

addOne收到一份副本a,因此无法更改a主方法的变量.

更改该变量的唯一方法是从方法返回一个值并将其分配回a:

a = Add.addOne(a);

...

public int addOne(int a){
    return ++a;
}
Run Code Online (Sandbox Code Playgroud)