действительно может помочь глобальная переменная. Это просто переменная, объявленная вне методов, но внутри класса. Тогда это будет видно во всем классе - а также извне, если вы сделаете это public
.
из вас в многопоточной среде, пожалуйста, получите доступ к нему синхронизированным способом, например, так
public class Test {
public volatile int global_variable = 42;
public synchronized int getGlobal_variable() {
return global_variable;
}
public synchronized void setGlobal_variable(int global_variable) {
this.global_variable = global_variable;
}
public void update() {
setGlobal_variable(getGlobal_variable() + 150);
}
public Test() {
try {
while (true) {
System.out.println(getGlobal_variable());
update();
Thread.sleep(1000);
}
} catch (Exception e) {
// TODO: handle exception
}
}
public static void main(String[] args) {
new Test();
}
}
обратите внимание, что я добавил volatile
на всякий случай. это зависит от вашего приложения, действительно ли вам это нужно.
если вас не интересует многопоточность, просто переместите объявление score
за пределы вашего метода, и все будет в порядке :-)