時間が経過するとブール値を変更する Timer クラスを作成しようとしていますが、Light クラスの同じ「インスタンス」を保持する方法を見つけるのに苦労しています (複数あるため) 静的クラスとメソッドを疑います合計で約5つのライトがあるので、答えは次のとおりです
これがコードです。参照用に、実際の Light クラス内のスレッドから呼び出そうとしているメソッドを含めました。
import java.util.TimerTask;
public class Light extends RoomObject{
//Constructors
public Light(String n, String r, boolean s){
super(s, r, n);
}
//Class methods
public String toString(){
return "Light|" + super.getName() + "|" + super.toString() + "|";
}
public void setState(boolean s){
super.setState(s);
}
}
class TimedLight extends TimerTask{
public void run() {
}
}
注意。スレッドから setState メソッドを呼び出そうとしています