this.addKeyListener(
new KeyAdapter()//这不是一个抽象类吗?怎么可以产生实例对象呢?
{
public void keyPressed(KeyEvent e)
{
msg="按下";
repaint();
}
public void keyReleased(KeyEvent e)
{
msg="释放";
repaint();
}
}
);
以上是程序的一段代码!

解决方案 »

  1.   

    匿名内部类,我的理解是相当于一个类继承了KeyAdapter,然后重写了两个方法,而这个类没有名字,所以是匿名,这样写的作用是方便
      

  2.   

    匿名类也是类, 但是他没有单独的类文件.
    建议你去看看匿名类的文档. 
    GUI中很多都是使用这种方式的.
      

  3.   

    匿名内部类,同样的接口也可以这样写的,
    你去看看相关的动态代理实例中的 InvocationHandler 也有很多使用这种写法的
      

  4.   

    匿名内部类,实际上是new的它的子类对象