1,我们先定义一个接口,可以让多个监听者实现
public interface IDataListen {
public void update(Object event,Object msg);
}
2,实现一监听者
public class DataListen implements IDataListen{
@Override
public void update(Object event, Object arg) {
// TODO Auto-generated method stub
System.out.println( "数据发生了变化" );
}
}
3,被监听者
public class DataManager{
private List<IDataListen> listenList = new ArrayList<>();
public void notifyListen(Object event,Object msg){
for (IDataListen dataListen : listenList){
dataListen.update( null , null );
}
}
public void addListen(IDataListen dataListen){
listenList.add(dataListen);
}
public void updateData(Object msg){
this .notifyListen( null , msg);
}
public static void main(String[] args) {
DataManager dataManager = new DataManager();
IDataListen dataListen1 = new DataListen();
IDataListen dataListen2 = new DataListen();
dataManager.addListen(dataListen1);
dataManager.addListen(dataListen2);
dataManager.updateData( "aaa" );
}
}