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



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

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"的值不会改变......

我该如何解决这个问题?

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

相关内容

  • 没有找到相关文章

最新更新