JMenuItem exitItem = new JMenuItem("Exit");
exitItem.addActionListener(new
  ActionListener()
  {//构造一个对象为什么会有“{...}”?
    public void actionPerformed(ActionEvent event)
    {
      System.exit(0);
    }
  }
);请解释得详细点,如果有相关的教程也行。

解决方案 »

  1.   

    代码等同于:JMenuItem exitItem = new JMenuItem("Exit");ActionListener temp = new  ActionListener()
    //因为ActionListener是个接口,所以要重写其中所有的抽象方法
    {    public void actionPerformed(ActionEvent event)
        {
          System.exit(0);
        }
      }
    exitItem.addActionListener(temp);
      

  2.   

    匿名内部类,TIJ已经有详细解释
      

  3.   

    是否等价于新建一个类继承ActionListener,再override actionPerformed方法?
      

  4.   

    是否等价于新建一个类继承ActionListener,再override actionPerformed方法?
    -----------------------------------------------------------------------
    没错