你是想问匿名类(Anonymous Classes)吧?举一个比较极端的例子:
Thread t = new Thread ( new Runnable ( ) { 
  public void run() { 
    System.out.println(getClass().getName());
  } 
});其中的
Runnable ( ) { 
  public void run() { 
    System.out.println(getClass().getName());
  } 

就是一个嵌套声明的匿名类。好处,当然是有时候会令代码显得简洁,至少你不需要为此重新派生一个新的Thread/Runnable子类。像这样:
class MyThread() {
  public void run() { 
    System.out.println(getClass().getName());
  } 
}如果每一个工程中都取消使用匿名类的话,那这个工程内部的结构一定超乎想象的复杂。这应该算是它的优点吧。但是,它的缺点也应该算是很明显吧。你第一遍的时候有看明白头上的例子了么?尤其是当它不停的引用外部类和父类的成员方法/属性时,将会是一团糟。我相信没有一个程序员愿意读那样的代码。当然,我讲得还不够详细。更多还需要你在实践中自己体会。