min*_*ino 4 java methods inner-classes actionlistener
所以我偶然发现了几种实现ActionListener的方法,我想知道是否有人可以告诉我每种方法的不同之处以及是否有理由或优势来使用它?
第一个是在一段代码中:
public void actionPerformed(ActionEvent arg0) {
// CODE HERE
}
Run Code Online (Sandbox Code Playgroud)
我看到的第二种方式是在另一个代码块中:
private class myListener implements ActionListener {
// CODE HERE
}
Run Code Online (Sandbox Code Playgroud)
第三个是ActionListener的一个单独的类,它具有与上面类似的代码,但是在一个单独的类中.
我想知道方法方法是否更有效,因为不必为每个方法创建新对象,您只需引用thisActionListener而不是例如引用new myListener().谢谢.
任何选项的速度都没有区别; 你总会有一个实现ActionListener接口的对象.避免单独类的实例只会节省几个字节的内存.
您的选择应该基于对您的代码有意义的结构.例如,让你的公共类实现ActionListener对于那些使用该类的人来说可能看起来很奇怪,特别是如果ActionListener行为应该是类的私有而不是在它之外使用.
所以它主要是你认为在你的代码中看起来更好的选择; 唯一真正的区别在于字段/方法访问(例如,一个单独的,非内部类将无法访问您的类的私有方法和字段,匿名内部类不能访问非最终变量的封闭方法等).
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |