Интервьюер спросил меня:
 Что такое Observer и Observable и когда мы должны их использовать?
 Я не знал об этих терминах, поэтому, когда я вернулся домой и начал поискать в Google данные об Observer и Observable, я обнаружил некоторые моменты из разных ресурсов:
1)
Observable- это класс, аObserver- это интерфейс.2) Класс
Observableподдерживает списокObservers.3) Когда объект
Observableобновляется, он вызывает методupdate()каждого из егоObserverчтобы уведомить его об изменении.
Я нашел этот пример:
import java.util.Observable;
import java.util.Observer;
class MessageBoard extends Observable
{
    public void changeMessage(String message) 
    {
        setChanged();
        notifyObservers(message);
    }
}
class Student implements Observer 
{
    @Override
    public void update(Observable o, Object arg) 
    {
        System.out.println("Message board changed: " + arg);
    }
}
public class MessageBoardTest 
{
    public static void main(String[] args) 
    {
        MessageBoard board = new MessageBoard();
        Student bob = new Student();
        Student joe = new Student();
        board.addObserver(bob);
        board.addObserver(joe);
        board.changeMessage("More Homework!");
    }
}
 Но я не понимаю, зачем нам Observer и Observable? Для чего нужны setChanged() и notifyObservers(message)?
