演绎阶段。通过阅读代码,练习编程,学习并应用这些类和接口。其实这些类的大部分是经常用的,无非对这些类和接口说不清楚。在这些类中,对java.lang和java.util包中的类,最好将各个方法练习使用一次。而对java.util包中Collections framework中的类,最好理清楚各个类和接口之间的关系。常用的类的方法我就不具体介绍了,我举一个使用Observer和Obserable 的例子(摘自《The Complete Reference Java 2 》)。在Observer和Obserable中,java实现了对设计模式Observer的支持。 
         Watcher.java代码
import java.util.*;
class Watcher implements Observer
{
 public void update(Observable obj, Object arg )
 {
  System.out.println("Update() called, count is " + 
   ((Integer) arg).intValue());
 }
}
       
      BeingWatched.java代码
import java.util.*;
class BeingWatched extends Observable
{
 void counter( int period )
 {
  for(;period >=0; period-- )
  {
   setChanged();
   notifyObservers( new Integer ( period ) );
   try
   {
    Thread.sleep(100);
   }
   catch( InterruptedException e)
   {
    System.out.println("Sleep interrupeted" );
   }
  }
 }
};
       ObserverDemo.java代码
public class ObserverDemo
{
 public static void main( String[] args )
 {
  BeingWatched observed = new BeingWatched();
  Watcher observing = new Watcher();
  observed.addObserver( observing);
  observed.counter(10);
 }
};
执行结果
Update() called, count is 10
Update() called, count is 9
Update() called, count is 8
Update() called, count is 7
Update() called, count is 6
Update() called, count is 5
Update() called, count is 4
Update() called, count is 3
Update() called, count is 2
Update() called, count is 1
Update() called, count is 0