广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州什么是Java观察者模式?_北大青鸟IT计算机学校

作者:邓华发布时间:2021-03-30分类:Java技术浏览:822


导读:Java是现在流行的编程语言之一,很多企业在开发软件的时候都会使用Java,因此,Java也成为了许多计算机学子必学的编程语言之一。那么,什么是Java观察者模式呢?下面惠州北大青鸟老师给大家科普一下什么是Java观察者模式。

Java是现在流行的编程语言之一,很多企业在开发软件的时候都会使用Java,因此,Java也成为了许多计算机学子必学的编程语言之一。那么,什么是Java观察者模式呢?下面惠州北大青鸟老师给大家科普一下什么是Java观察者模式。

观察者模式用于在一个对象被修改时通知其相关对象。

观察者模式是一种行为模式类别。

例子

import java.util.ArrayList;import java.util.List;class MyValue {   private List<Observer> observers
     = new ArrayList<Observer>();   private int state;   public int getState() {      return state;
  }   public void setState(int state) {
     this.state = state;
     notifyAllObservers();
  }   public void attach(Observer observer){
     observers.add(observer);    
  }   public void notifyAllObservers(){      for (Observer observer : observers) {
        observer.update();
     }
  }  
}abstract class Observer {   protected MyValue subject;   public abstract void update();
}class PrinterObserver extends Observer{   public PrinterObserver(MyValue subject){
     this.subject = subject;
     this.subject.attach(this);
  }

  @Override   public void update() {
     System.out.println("Printer: " + subject.getState() );
  }
}class EmailObserver extends Observer{   public EmailObserver(MyValue subject){
     this.subject = subject;
     this.subject.attach(this);
  }

  @Override   public void update() {
    System.out.println("Email: "+ subject.getState() );
  }
}class FileObserver extends Observer{   public FileObserver(MyValue subject){
     this.subject = subject;
     this.subject.attach(this);
  }

  @Override   public void update() {
     System.out.println("File: " + subject.getState());
  }
}public class Main {   public static void main(String[] args) {
     MyValue subject = new MyValue();      new FileObserver(subject);      new EmailObserver(subject);      new PrinterObserver(subject);

     subject.setState(15);
 
     subject.setState(10);
  }
}

上面的代码生成以下结果。

File:15

Email:15

Printer:15

File:10

Email:10

Printer:10

相信通过上面老师的解答,大家应该知道什么是Java观察者模式了吧!想了解更多关于Java的资讯,可以来惠州北大青鸟新方舟校区详细了解。

Java11.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表