當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Java Observable deleteObserver()用法及代碼示例

Observable類deleteObserver()方法

  • deleteObserver() 方法可在java.util包。
  • deleteObserver() 方法用於從這個 Observable 對象的觀察者集中移除給定的觀察者(obs)。
  • deleteObserver() 方法是一個非靜態方法,它隻能通過類對象訪問,如果我們嘗試使用類名訪問方法,那麽我們將得到一個錯誤。
  • deleteObserver() 方法刪除觀察者時不會拋出異常。

用法:

    public void deleteObserver(Observer obs);

參數:

  • Observer obs– 表示要從集合中刪除的觀察者。

返回值:

該方法的返回類型是void,它什麽都不返回。

例:

// Java program to demonstrate the example 
// of void deleteObserver(Observer obs) 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:");
    }
}

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

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

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

public class DeleteObservers {
    // Implement Main Method
    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);

        // By using countObservers() method is
        // to return the number of observers 
        // in this object
        int count_obs = observed.countObservers();
        System.out.println("observed.countObservers():" + count_obs);
        observed.deleteObs();

        // By using deleteObserver() method is used
        // delete the given observer if exists
        observed.deleteObserver(obs2);
        count_obs = observed.countObservers();
        System.out.println("observed.deleteObserver(obs2):" + count_obs);
        observed.deleteObs();
    }
}

輸出

observed.countObservers():2
Obs2:
Obs1:
observed.deleteObserver(obs2):1
Obs1:


相關用法


注:本文由純淨天空篩選整理自Preeti Jain大神的英文原創作品 Java Observable deleteObserver() Method with Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。