Java 我们是否应该实现像ActionListener这样的接口?

Java 我们是否应该实现像ActionListener这样的接口?,java,swing,Java,Swing,当我按照这些思路编译某些内容时,NetBeans会抛出一个小错误: 此构造函数中存在泄漏 或在此构造函数中传递可疑参数 那么我们应该还是不应该使用这样的编码约定呢?使用匿名类更好吗 我想知道这个错误的意义。 我从Oracle网站上的Java教程中学到了这个用法。那么,这是一种糟糕的编码实践吗?这与其说是实现ActionListener的问题,不如说是对在对象构造函数中使用this的警告,因为对象可能处于未初始化状态,而您传递它的对象或方法可能依赖于此状态。就我个人而言,我还想问一个问题,您是否希

当我按照这些思路编译某些内容时,NetBeans会抛出一个小错误:

此构造函数中存在泄漏
在此构造函数中传递可疑参数

那么我们应该还是不应该使用这样的编码约定呢?使用匿名类更好吗

我想知道这个错误的意义。
我从Oracle网站上的Java教程中学到了这个用法。那么,这是一种糟糕的编码实践吗?

这与其说是实现
ActionListener
的问题,不如说是对在对象构造函数中使用
this
的警告,因为对象可能处于未初始化状态,而您传递它的对象或方法可能依赖于此状态。就我个人而言,我还想问一个问题,您是否希望向其他调用者公开
接口
方法。例如,没有什么能阻止任何人调用
actionPerformed
方法并传递错误的数据集注意:调用
super(/*构造函数参数*/)是个好主意在许多对象的构造函数的第一行。NetBeanSprint发出一个小警告。你该怎么办取决于你自己。就我个人而言,在经历了大量的反复之后,我更喜欢
ActionListeners
而不做其他事情,即成为内部类。
import javax.swing.JButton;
import javax.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class foo extends JButton implements ActionListener
{
    public foo()
    {
        super();
        addActionListener(this);
    }
    public void actionPerformed(ActionEvent e)
    {
        bar(e);
    }
}