首先,我有3个班级。Main类的名称为“ main”,一个名为StartRunnable的可运行对象,另一个名为Elimination Runnable的可运行对象。
EliminationRunnable在恒定循环上运行,只要当前游戏通过变量处于活动状态
StartRunnable在具有许多thread.sleeps的for循环上运行以执行不同的操作,并且for循环具有称为“ intCounterLoop”的计数器。它被宣布为公开。
Main Class同时创建每个可运行对象的新实例。
new Thread(new StartRunnable()).start();
new Thread(new EliminationRunnable(args[1])).start();
现在,问题
如何从StartRunnable类访问intCounterLoop变量;在EliminationRunnable类中而不使用静态?我不能使用静态,因为这些类的多个实例可能正在进行。
将您的StartRunnable实例存储在变量中,而不是在该参数列表中在那里直接构造它。
然后只需将该实例作为参数传递给您的EliminationRunnable构造函数。这就是变量的用途。
StartRunnable s = new StartRunnable();
new Thread(s).start();
new Thread(new EliminationRunnable(args[1], s)).start();
然后,您可以根据需要访问任何所需的公共内容。
PS:您可以将字段设为公开并直接访问,但我将其设为私有,而是公开获取和设置。如果您想更深入地了解,可以在Internet上轻松找到有关该参数的参数。无论如何,您要公开对其的访问权限超出了此答案的范围。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句