如何从 Observer 类中的 Observable 类访问方法/实例,其中方法/实例不是被观察的对象。
例如,如果这些 getter 方法在我的 Observable 类中,但只观察到书,我将如何访问我的 Observer 类中的名称和存储(即在 update() 方法中)?
public class MethodEx extends Observable {
...
public String getName(){
return this.name;
}
public String getBook(){
return this.book;
}
public String getStore(){
return this.store;
}
}
最佳答案
您通常将观察到的对象与事件一起传递。例如,这是在 ChangeListener
中完成的它使用 ChangeEvent
。 ChangeEvent
有一个 getSource
方法,用于告知哪个对象已更改。
翻译成你的术语,你会这样做
public String setBook(Book book) {
this.book = book;
for (UpdateListener listener : listeners)
listener.updated(new UpdateEvent(this));
}
关于java - 在 Observer 类中访问 Observable 类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29019336/