- 在Java中实现的监控事件的方法
button.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
System.out.println("哈哈哈");
} });
实际上:ActionListener是一个接口,在这里是用了匿名内部类的语法 , new + 接口名 + () + {接口实现}
- 因此:
addActionListener( new 接口名() {
接口实现;
});//这一行是这么来的
- 因此
//在匿名内部类中的常量需要用final修饰,放在方法区中去,防止销毁后出空指针引用(局部变量在方法中,方法结束后,栈帧消失,变量也消失,对象还在堆中等待垃圾回收器回收,就可能出现空指针引用);
- android 中的OnCrickListener也是如此;