当前位置: 首页 > 知识库问答 >
问题:

静态变量超出范围,错误:找不到符号

周凯捷
2023-03-14

错误是:

找不到符号系统。出来println(“计数值”计数)

符号:

变量计数

地点:

同步

我声明了count变量静态,这不是意味着每个类都可以访问它吗?

class a extends Thread 

{

public static int count=0;

public void run()

 {

   for(int i=1;i<=100;i++){

   count++;
    }
  }
}

class b extends Thread {

public void run(){

  for(int i=1;i<=100;i++){

  count++;
  }
 }
}

class synchronize {

public static void main(String args[]) {

  a obj =new a();

  b obj1=new b();

  obj.start();

  obj1.start();

  System.out.println("value of count "+count) ;

 }
}

共有3个答案

戚京
2023-03-14

由于它是公共的和静态的,因此您可以从代码中的任何地方访问类中的count变量,这是正确的。

但是,您不能仅通过使用变量count来访问它。

你的其他类不知道任何count变量,但他们知道你的a类。因此,您可以使用a.count从任何其他类访问a类中的count变量。

锺离旻
2023-03-14

静态变量对类的所有实例都有一个值。

必须按类名访问静态变量

而不是这个

System.out.println("value of count "+count) ;

用这个

System.out.println("value of count "+a.count) ;
应和悦
2023-03-14

count变量被声明为a类的成员。

所以如果你改变:

System.out.println("value of count "+count);

致:

System.out.println("value of count " + a.count);

因此,您作为a类的成员访问count变量,那么您的synchornize类应该能够“查看”count变量。

此外,您可能还想在类b中使用a.count

class b extends Thread {

    public void run(){

      for(int i=1;i<=100;i++){

          a.count++;
       }
    }
}
 类似资料:
  • 我正在用Android Studio制作我的第一个测试程序。 该程序有两个活动,您在第一个活动中插入一个文本,按下一个按钮,然后文本在另一个活动上显示。 我下面的YT教程,但我发现两个错误: 找不到符号变量,也找不到解决方案。 我在这里搜索了这么久,但没有找到有效的答案。我试过: > 清洁项目和重建项目。 我没有"导入Android。R". 我用了但它告诉我"未使用的导入语句"。 我已经更改了ID

  • 在项目中,我有几个风格,几个构建类型和几个文件夹 构建组合: 文件夹结构 在每个文件夹中,我都有自定义的来注册这个 有时,但只是有时生成失败,出现“找不到符号”错误: 或与类无关但错误相同 但是下一个构建可能会成功,所以可能的流程是 构建(成功) 代码中的一些更改 构建(错误) 生成重试(成功) 注意事项 这不是同步问题,同步/无效缓存不是答案 免责声明:有些问题看起来像这一个,但它们是不同的,例

  • 我遇到了一个奇怪的问题!我的xml文件中有每个布局的id名,并且在我的主要活动中创建了对它们的变量引用。java文件。 当我清理和重建我的项目时,我得到的是: “错误:找不到符号layoutMain=findViewById(r.id.layoutMain);” 我在用敏。SDK 21,目标29

  • 我使用的是Java1.7和Gradle4.10.3。我尝试使用各种gradle依赖项,如testCompile组:'org.hamcrest'、name:'hamcrest'、version:'2.1'和testImplementation'org.hamcrest:hamcrest-library:1.3'。有人能让我知道什么是正确的依赖于hamcrest CoreMatchers。如果没有,你

  • 问题内容: 我目前正在从一本名为《 Python绝对入门》(第三版)的书中学习python。书中有一个练习,概述了一个子手游戏的代码。我遵循了这段代码,但是我在程序的中间不断返回错误。 这是导致问题的代码: 这也是它返回的错误: 有人可以帮助我解决出现的问题以及如何解决该问题吗? 编辑:我像这样初始化so_far变量: 问题答案: 您好像缩进得太多了。尝试这个:

  • 嗨,我试着把谷歌分析在我的应用程序,我看到留档,但不为我工作,我有这个错误错误:(51,9)错误:找不到符号变量mTracker: 分析pplication.java 显示: 主要活动 ... 错误:错误:(51,9)错误:找不到符号变量mTracker 修复:问题是我需要将其放入主活动: 公共类主活动扩展活动{