Java Observable hasChanged()方法与示例

Observable类hasChanged()方法

  • hasChanged()方法在java.util包中可用。

  • hasChanged()方法用于检查此对象是否已更改。

  • hasChanged()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • hasChanged()方法在检查状态时不会引发异常。

语法:

    public boolean hasChanged();

参数:

  • 它不接受任何参数。

返回值:

方法的返回类型为boolean,当此对象已更改时,它返回true,否则返回false。

示例

//Java程序演示示例 
//的布尔hasChanged()方法的方法

import java.util.*;

//实现观察者类 
class Observers implements Observer {
    public void update(Observable obj, Object ob) {
        System.out.println("Obs is added");
    }
}

//实施观察类
class Observed extends Observable {
    //函数调用setChanged()
    void hasChange() {        
        setChanged();

        //通过使用hasChanged()方法可以
        //检查观察者是否已更改
        //setChanged()方法
        System.out.println("setChanged(): " + hasChanged());        
        notifyObservers();
    }
}

public class HasChanged {
    //实现主要方法
    public static void main(String args[]) {
        Observed observed = new Observed();
        Observers obs = new Observers();
        observed.addObserver(obs);
        observed.hasChange();
    }
}

输出结果

setChanged(): true
Obs is added