错误是:
无法找到符号
System.out.println("value of count" + count);
符号:
变量计数
位置:
类同步
我声明count
变量static
所以这并不意味着每个班级都可以访问它吗?
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) ;
}
}
答案 0 :(得分:3)
count
变量被声明为a
类的成员。
所以,如果你改变:
System.out.println("value of count "+count);
要:
System.out.println("value of count " + a.count);
为了您作为count
课程的成员访问a
变量,您的synchornize
课程应该能够看到&#39; count
变量。
此外,您可能还想使用课程a.count
内的b
:
class b extends Thread {
public void run(){
for(int i=1;i<=100;i++){
a.count++;
}
}
}
答案 1 :(得分:2)
静态变量对于类的所有实例都有一个值。
您必须按类名
访问静态变量而不是
System.out.println("value of count "+count) ;
使用此
System.out.println("value of count "+a.count) ;
答案 2 :(得分:2)
由于它是公开的和静态的,因此您可以从代码中的任何位置访问count
类中的a
变量。
但是,您无法仅使用变量count
来访问它。
您的其他课程不了解任何count
变量,但他们知道您的a
课程。因此,您可以使用a.count
从任何其他类中访问count
类中的a
变量。