使用构造函数将一个类传递给另一个类

时间:2017-02-04 01:58:20

标签: java

首先,我有3个类。 Main类名为' main&#39 ;,一个名为StartRunnable的runnable,另一个名为Elimination Runnable的runnable。

EliminationRunnable在恒定循环上运行,只要当前游戏通过变量激活

StartRunnable在for循环上运行,有许多thread.sleeps来执行不同的东西,for循环有一个名为" intCounterLoop"的计数器。它被宣布为公开。

Main Class同时为每个runnable创建一个新实例。

new Thread(new StartRunnable()).start();
new Thread(new EliminationRunnable(args[1])).start();

现在,问题

如何从StartRunnable类访问intCounterLoop变量;在不使用静态的EliminationRunnable类?我不能使用静态,因为这些类的多个实例可能正在进行。

1 个答案:

答案 0 :(得分:0)

将您的StartRunnable实例存储在变量中,而不是在该参数列表中构建它。

然后将实例作为参数传递给EliminationRunnable构造函数。这就是变量的用途。

StartRunnable s = new StartRunnable();
new Thread(s).start();
new Thread(new EliminationRunnable(args[1], s)).start();

然后,您可以根据需要访问所需的任何公共内容。

PS您可以将该字段公开并直接访问它,但我会将其设为私有状态,而是选择公共getter和setter。如果你想深入挖掘,你可以在互联网上轻松找到相关论据。在任何情况下,您希望如何公开对它的访问都超出了本答案的范围。