📄 song.java
字号:
package designpatterns.observer.java;import java.util.*;public class Song implements Playable, Subject{ private String name; public Song(String name) { super(); this.name = name; } public String getName() { return name; } public void play() { System.out.println("Playing song " + getName()); notifyObservers(); } public void showLyrics(){ System.out.println("Displaying lyrics for " + getName()); notifyObservers(); } public boolean equals(Object o){ Song other = (Song) o; return this.name.equals(other.name); } public int hashCode() { return name.hashCode(); } private Set observers = new HashSet(); public void addObserver(Observer o) { observers.add(o); } public void removeObserver(Observer o) { observers.remove(o); } public void notifyObservers() { for (Iterator iter = observers.iterator(); iter.hasNext();) { Observer o = (Observer) iter.next(); o.update(this); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -