Java Observable countObservers()方法与示例

可观察类countObservers()方法

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

  • countObservers()方法用于计算此Observable中存在的观察者数量。

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

  • 在计数观察者时,countObservers()方法不会引发异常。

语法:

    public int countObservers();

参数:

  • 它不接受任何参数。

返回值:

方法的返回类型为int,它获取此Observable中观察者的数量。

示例

//Java程序演示示例 
//countObservers()可观察的int方法的说明

import java.util.*;

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

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

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

        //通过使用notifyObservers()方法是 
        //通知所有观察者
        //已实现        notifyObservers();
    }
}

public class CountObservers {
    //实现主要方法
    public static void main(String args[]) {
        Observed observed = new Observed();
        Observers_1 obs1 = new Observers_1();
        Observers_2 obs2 = new Observers_2();
        observed.addObserver(obs1);
        observed.addObserver(obs2);

        //通过使用countObservers()方法是
        //返回观察者的数量 
        //在这个对象中
        int count_obs = observed.countObservers();
        System.out.println("observed.countObservers(): " + count_obs);
        observed.countObs();
    }
}

输出结果

observed.countObservers(): 2
Obs2: 
Obs1: