我需要处理两个类之间的交互变化。
无论何时在子类中调用“add”方法,都应该调用HeadClass中的“refresh”方法!但是我应该在哪个类中实现这行代码:
如果我在HeadClass中实现它,我可以像这样做出反应:
public class HeadClass {
private Subclass sub;
public void refresh() {...}
}
public class Subclass{
ArrayList store;
public void add(T data)
store.add(data);
firePropertyChange(...);
}
无论何时在子类中调用“add”方法,都应该调用HeadClass中的“refresh”方法!但是我应该在哪个类中实现这行代码:
private PropertyChangeSupport changes = new PropertyChangeSupport(/*WHAT SHOULD BE HERE?*/);
如果我在HeadClass中实现它,我可以像这样做出反应:
changes.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent event) {
refresh();
}
});
但是如果我无法访问propertyChangeSupport "changes",那么我应该如何从子类中触发propertyChangeEvents呢?