当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Observable notifyObservers()用法及代码示例


Observable类notifyObservers()方法

用法:

    public void notifyObservers();
    public void notifyObservers(Object o);
  • notifyObservers() 方法可在java.util包。
  • notifyObservers() 方法用于在对象发生更改时通知列表中的所有观察者。
  • notifyObservers(Object o) 方法用于在此对象更改时通知列表中的所有观察者,稍后将调用 clearChanged() 以表示此对象不再需要更改。
  • 这些方法在通知观察者时不会抛出异常。
  • 这些是非静态方法,它可以通过类对象访问,如果我们尝试使用类名访问这些方法,那么我们也会得到一个错误。

参数:

  • 在第一种情况下,notifyObservers() - 它不接受任何参数。
  • 在第一种情况下,notifyObservers(Object o) -Object o- 代表任何类型的对象。

返回值:

在这两种情况下,方法的返回类型都是void,它什么都不返回。

范例1:

// Java program to demonstrate the example 
// of notifyObservers() method of Observable

import java.util.*;

// Implement Observers class 
class Observers_1 implements Observer {
    public void update(Observable obj, Object ob) {
        System.out.println("Obs1 is notified");
    }
}

// Implement Observed Class
class Observed extends Observable {
    // Function call with setChanged()
    void notifyObserver() {
        setChanged();

        // By using notifyObservers() method is 
        // to notify all the observers that are
        // implemented
        notifyObservers();
    }
}

public class NotifyObserver {
    // Implement Main Method
    public static void main(String args[]) {
        Observed observed = new Observed();
        Observers_1 obs1 = new Observers_1();
        observed.addObserver(obs1);
        observed.notifyObserver();
    }
}

输出

Obs1 is notified

范例2:

import java.util.*;

class Observers_2 implements Observer {
    public void update(Observable obj, Object ob) {
        System.out.println("Obs2 is notified:" + ((Float) ob).floatValue());
    }
}

// Implement Observed Class
class Observed extends Observable {
    // Function call with setChanged()
    void notifyObserver1() {
        setChanged();

        // By using notifyObservers() method is 
        // to notify all the observers that are
        // implemented
        notifyObservers();
    }

    void notifyObserver2() {
        setChanged();

        // By using notifyObservers() method is 
        // to notify all the observers that are
        // implemented with the given object
        notifyObservers(new Float(10.0));
    }

}

public class NotifyObserver {
    // Implement Main Method
    public static void main(String args[]) {
        Observed observed = new Observed();
        Observers_2 obs2 = new Observers_2();
        observed.addObserver(obs2);
        observed.notifyObserver2();

    }
}

输出

Obs2 is notified:10.0


相关用法


注:本文由纯净天空筛选整理自Preeti Jain大神的英文原创作品 Java Observable notifyObservers() Method with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。