如何声明不会改变值的全局变量

时间:2018-12-29 12:10:41

标签: android function initialization global-variables

我有一个函数,我使用一个全局变量,并在此函数中更新此变量。我不想在此函数之外更新此变量的值。

public static int a = 0; //is global 
public static int b = 0;

 public void func(){
  if(a>c){
    a=a+b;
     }
 }

此函数在100ms处调用

         final Handler handler = new Handler();
          Runnable runnable = new Runnable() {
            @Override
            public void run() {
            func();
               handler.postDelayed(this, 100);
           }
            };
            handler.postDelayed(runnable, 100);

为什么“ a”每次都用零开头?

我想做这样的事情:

 public void func(){
  int a=0;
  int b=0;
  while(a>c){
    a=a+b;
     }
 }

但是我不能使用while,因为“ c”是在另一个函数中计算的,如果使用while,则“ c”的值不会改变...

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

使函数静态。静态变量由静态函数更改。