匿名接口声明的正确样式约定?

时间:2015-04-19 09:44:13

标签: java swing coding-style anonymous-inner-class

我正在使用ActionListener界面来添加JButton对象的交互性。这就是Eclipse使用Ctrl+Shift+F为我编写下面代码的方式,但是当我想创建一个匿名接口时,这种情况的正确样式约定是什么?

updateButton.addActionListener(new ActionListener()
{
    public void actionPerformed(ActionEvent e)
    {
    }
});

而且:

ActionListener listener = new ActionListener()
{
    public void actionPerformed(ActionEvent e)
    {
    }
};

1 个答案:

答案 0 :(得分:3)

假设您使用的是Java 8,则有两种选择:

1)使用lambda:

final ActionListener actionListener = e -> {
    //do stuff
};

new JButton().addActionListener(e -> {
    //do stuff
});

2)使用方法参考:

public void toStuff(final ActionEvent e) {
    //do stuff        
}

然后:

final ActionListener actionListener = this::doStuff;

new JButton().addActionListener(this::doStuff);

更一般地说,其余的格式是基于意见的。例如,我更喜欢Egyptian brackets。但基于意见的是,您应该对所有代码使用一致格式 - 让您的IDE为您执行此操作。