1. 程式人生 > >java基礎學習總結——監聽當資料發生變化時要做的操作

java基礎學習總結——監聽當資料發生變化時要做的操作

1,我們先定義一個介面,可以讓多個監聽者實現

1 2 3 4 public interface IDataListen { public void update(Object event,Object msg); }

2,實現一監聽者

1 2 3 4 5 6 7 8 9 public class DataListen implements IDataListen{ @Override public void update(Object event, Object arg) { // TODO Auto-generated method stub
System.out.println("資料發生了變化"); } }

3,被監聽者

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 public class DataManager{ private List<IDataListen> listenList = new ArrayList<>(); public void notifyListen(Object event,Object msg){
for(IDataListen dataListen : listenList){ dataListen.update(nullnull); } } 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"); } }