为了账号安全,请及时绑定邮箱和手机立即绑定

编译时cmd显示找不到符号thread.boot=false?什么情况?

编译时cmd显示找不到符号thread.boot=false?什么情况?

慕哥9229398 2022-06-16 11:11:27
我是一名java初学者,今天下午写了个程序是这样的:import java.util.*;public class TestPoint{public static void main(String[] args){MyThread thread= new MyThread();thread.start();try{Thread.sleep(10000);}catch(InterruptedException e){}thread.boot=false;Thread.sleep(10000);thread.in}}class MyThread extends Thread{Boolean boot=true;public void run(){Boolean boot=true;while(boot){System.out.println("==="+new Date()+"===");try{sleep(1000);}catch(InterruptedException e){return;}}}}编译时cmd显示找不到符号thread.boot=false;我想是因为我把boot这个变量放在了Mythread类的run方法中的缘故。我把run方法中对布尔值boot的定义语句放到了run方法的外面,编译就能通过了。所以现在我想问,如果我就是想把boot变量在run方法中定义,我在主函数中不能通过thread.boot这种方式引用该变量,那么,我该通过什么方式引用该变量呢?
查看完整描述

2 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

你试试将fetchDictionary方法写到类GraduateResearch1_5里面,在类GraduateResearch1_5中声明私有变量A、B、C,将在main函数中要做的事放到构造函数中去完成,main函数调用构造函数,形如以下,希望可以帮到你。

public class GraduateResearch1_5{
private int A,B,C,D,E;
public GraduateResearch1_5(){
原来要放到main函数中去做的
}
public static void main(String args[]) {
GraduateResearch1_5 gr = new GraduateResearch1_5();

}
public static void fetchDictionary(String s) {

这里变量A、B、C应该就可以用了
s1[A][B][C] = s.substring(0, i);

......
}
}

查看完整回答
反对 回复 2022-06-20
?
千巷猫影

TA贡献1829条经验 获得超7个赞

方法中的变量叫局部变量,顾名思义这变量只能在这个方法中使用;在方法中定义一个变量,却想在方法外面访问这个变量是不可能的

查看完整回答
反对 回复 2022-06-20
  • 2 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信