日期:2014-05-20  浏览次数:20640 次

java程序语法问题
public class Test extends Frame{
  private Button exit;
  private Label label;
  public test(){
  super("图形用户界面");
  label =new Label("单击退出");
  add(label,BorderLayout.NORTH);
  exit=new Button("退出");
   
  exit.addActionListener(new ActionListener()
   
  {
  public void actionPerformed(ActionEvent e)
  {System.exit(0);}}
  } );

  add(exit,BorderLayout.CENTER);
  setSize(300,100);
  }
  public static void main(String[] args)
  {
  test app=new test();
  } 
}

以上程序中 exit.addActionListener(new ActionListener()
  {
  public void actionPerformed(ActionEvent e)
  {System.exit(0);}}
  } );

这一段应该是添加一个监视器,但是小括号里的格式不明白,小括号里的参数应该是一个实现ActionListener接口的类的对象吧,为什么这里是new ActionListener(){} 这种格式呢?

还有有的地方出现 方法名1(new 方法名2()) 这种形式,这是什么意思呢?

------解决方案--------------------
匿名内部类
------解决方案--------------------
方法名1(new 方法名2()) 不是方法,是接口
------解决方案--------------------
探讨

匿名内部类