所以我在我的主函數中創建了一個具有靜態變量的類X.我還爲X類添加了一個觀察者。 當我在另一個類中創建類X的新實例時,我的觀察者不再收到通知,因爲它是X類的另一個類實例。如何設法通知我無論如何,無需通過我的整個程序,這是不可能的,通過類X的觀察員? 問題是新創建的ClassX實例沒有附加觀察者。同一個觀察者的同一類型的不同類,怎麼辦?
/*different file*/
public class CreatingNewX{
public void incrementSomeValue1(){
ClassX x = new ClassX();
x.someMethod();
}
}
/*different file*/
public class observer implements Observer {
private ClassX ClassXValue = null;
public observer(ClassX ClassXValue){
this.ClassXValue = ClassXValue;
}
public void update(Observable obs, Object obj){
if(obs == ClassXValue){
/*do something*/
}
}
}
/*different file*/
public class ClassX extends Observable {
private static int somevalue1;
private static int somevalue2;
private static int somevalue3;
public void someMethod(){
somevalue1++;
setChanged();
notifyObservers();
}
}
/*different file*/
public class Main{
public static void main(String[] args) {
ClassX X = new ClassX();
ClassObserver observer = new ClassObserver(X);
X.addObserver(observer);
}
}
請閱讀[MCVE]並編輯您的問題。 – Frank
增加了一個例子,但實際上它比這個例子更大更復雜。 – LifeisHard