在Java中,我们有两种实现actionPerformed的方法:
对于选项2,不容易找到actionPerformed代码所在的位置,因为它分散在整个类中。如果您有许多操作侦听器,则更难跟踪actionPerformed实例。
我个人更喜欢选项1,因为它比较容易维护代码,即使性能可能不如选项2高效。
每种方法的优缺点是什么?在选择如何实现actionPerformed时还应考虑什么?您更喜欢哪种方式?
编辑:根据A. Lee的建议,还有第三个选项。它是选项1和选项2的组合:使用匿名内部类,但将它们全部放在类中的一个位置。我认为这是个好主意。
- 每个类一个actionPerformed方法:使用if-else检查事件源;
- 使用匿名内部类,在创建对象的地方实现actionPerformed方法;
对于选项2,不容易找到actionPerformed代码所在的位置,因为它分散在整个类中。如果您有许多操作侦听器,则更难跟踪actionPerformed实例。
我个人更喜欢选项1,因为它比较容易维护代码,即使性能可能不如选项2高效。
每种方法的优缺点是什么?在选择如何实现actionPerformed时还应考虑什么?您更喜欢哪种方式?
编辑:根据A. Lee的建议,还有第三个选项。它是选项1和选项2的组合:使用匿名内部类,但将它们全部放在类中的一个位置。我认为这是个好主意。