2015-04-19 25 views
0

我正在使用ActionListener接口,以添加交互对象的一个​​JButton对象。这就是Eclipse如何使用Ctrl+Shift+F为我编码的代码,但是当我想创建一个匿名接口时,对于这种情况,适当的样式约定是什么?适用于匿名接口声明的风格约定?

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

而且这样的:

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

你应该在行尾放置'{'。 – Bubletan

回答

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为你做。

+0

有趣,但你可以详细说明'doStuff()'方法吗?我假设我可以将它放在我想要的任何地方,只要它在'JButton'对象的范围内。 – zxgear

+0

@JohnH我不会回顾[Oracle文档](https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html)所涵盖的内容。但是,总之,只要你可以参考它,你就可以将它放在任何地方。实用程序'class'中的'static'方法。在'class'上你有一个实例的方法。 _Anywhere_。 –