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
相关用法
- Java Observable hasChanged()用法及代码示例
- Java Observable addObserver()用法及代码示例
- Java Observable clearChanged()用法及代码示例
- Java Observable setChanged()用法及代码示例
- Java Observable deleteObserver()用法及代码示例
- Java Observable countObservers()用法及代码示例
- Java ObjectInputStream readDouble()用法及代码示例
- Java ObjectStreamField getOffset()用法及代码示例
- Java ObjectStreamField compareTo()用法及代码示例
- Java Object hashCode()用法及代码示例
- Java ObjectInputStream readUnsignedByte()用法及代码示例
- Java ObjectInputStream readFields()用法及代码示例
- Java ObjectOutputStream writeFields()用法及代码示例
- Java ObjectInputStream readFully()用法及代码示例
- Java ObjectStreamField getName()用法及代码示例
- Java ObjectInputStream readInt()用法及代码示例
- Java ObjectStreamClass forClass()用法及代码示例
- Java ObjectInputStream read()用法及代码示例
- Java ObjectStreamField getTypeCode()用法及代码示例
- Java ObjectOutputStream writeBytes()用法及代码示例
注:本文由纯净天空筛选整理自Preeti Jain大神的英文原创作品 Java Observable notifyObservers() Method with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。