java中关于addactionlistener的问题

请问butt.addactionlistener()括号里面什么时候写this,什么时候写new addactionlistener(),这两个有什么区别吗?请具体一点,谢谢!!!

首先括号里需要一个ActionListener,你的类implements 了 ActionListener就可以写this,因为此时当前类就是一个ActionListener,你没有implements ActionListener,当然要new一个了,此时你的类,即this,已经不再是一个ActionListener了
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-08-20
这个是窗口事件添加吗?还是别的什么。请楼主补充。
有时候的this不是指当前类的实例,如果在addactionlistener括号里面的,指的是那个Listener的实体。这个要注意。
第2个回答  2009-08-20
方法的参数需要的是一个ActionListener实例, 如果你本类实现了ActionListener 就可以填写this, 但是一般很少用this 的, 因为一般本类都是一个panel 或者frame, 作为view 层使用, 不应该实现ActionListener, 因为这个事件一般注册在按钮上, 除了像计算器, 拨号系统之外, 按钮之间的功能联系非常少, 不需要统一处理, 所以用匿名内部类的方法比较好, 代码清晰, 执行效率快(就是你说的new ActionListener(){...}的方式), 而想要统一处理的话, 也最好是声明一个类实现ActionListener, 不要用this.
相似回答