package com.sc.demo2;
import java.util.Observable;
/**
* @author ZBX
* 被观察者类
*/
public class NumObserverable extends Observable{
int data = 0 ;
public void setData(int i ){
data = i;
setChanged(); //标记此Observable对象为已改变的对象
notifyObservers();//通知所有观察者
}
public int getData() {
return data;
}
}
package com.sc.demo2;
import java.util.Observable;
import java.util.Observer;
/**
* @author ZBX
* 观察者类
*/
public class NumObserver implements Observer{
@Override
public void update(Observable o, Object arg) {
NumObserverable myObserable = (NumObserverable) o;
System.out.println("Data has changed to "+ myObserable.getData());
}
}
package com.sc.demo2;
public class Test {
public static void main(String[] args) {
NumObserverable number = new NumObserverable();//被观察者对象
number.addObserver(new NumObserver());//给number这个被观察者添加观察者(当然也可以有多个观察者)
number.setData(1);
number.setData(2);
number.setData(3);
}
}
package com.sc.demo2;
import java.util.Observable;
import java.util.Observer;
public class MultA extends Observable implements Observer{
@Override
public void update(Observable o, Object arg) {//有被观察者发生变化,自动调用相应的观察者的update方法
MultB multb = (MultB) o ;//获取被观察者对象
System.out.println("MultA监听到MultB数据变化");
setChanged();
notifyObservers();//自己观察到数据变化,通知自己的观察者
}
}
package com.sc.demo2;
import java.util.Observable;
import java.util.Observer;
public class MultB extends Observable implements Observer{
int data = 0 ;
@Override
public void update(Observable o, Object arg) {
System.out.println("MultB观察到MultA的数据变化,貌似自己的变化被监听。。。。");
}
public int getData() {
return data;
}
public void setData(int i) {
data = i;
setChanged();//标记此 Observable对象为一改变
notifyObservers();//通知所有观察者
}
}
package com.sc.demo2;
public class Test {
public static void main(String[] args) {
// NumObserverable number = new NumObserverable();//被观察者对象
// number.addObserver(new NumObserver());//给number这个被观察者添加观察者(当然也可以有多个观察者)
// number.setData(1);
// number.setData(2);
// number.setData(3);
MultA multa = new MultA();
MultB multb = new MultB();
multb.addObserver(multa);
multa.addObserver(multb);
multb.setData(1);
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有