[英]Static variable out of scope, Error: cannot find symbol
錯誤是:
找不到符號
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) ;
}
}
該count
變量被聲明為成員a
類。
所以,如果你改變:
System.out.println("value of count "+count);
至:
System.out.println("value of count " + a.count);
所以,你正在訪問count
變量作為成員a
類的,那么你的synchornize
類應該能夠“看見” count
變量。
此外,您可能還想使用類b
的a.count
:
class b extends Thread {
public void run(){
for(int i=1;i<=100;i++){
a.count++;
}
}
}
靜態變量對於類的所有實例都具有單個值。
您必須按類名訪問靜態變量
而不是這個
System.out.println("value of count "+count) ;
用這個
System.out.println("value of count "+a.count) ;
既然是公共的和靜態,你是,你將能夠訪問正確的count
變量在你a
隨時隨地類代碼。
但是,您無法僅使用變量count
來訪問它。
你的其他課程不知道任何count
變量,但他們知道你a
課程。 所以,你可以使用a.count
訪問count
在變量a
從您的任何其他類的類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.