【发布时间】:2014-01-16 02:59:06
【问题描述】:
我最近遇到了一些看似令人震惊的代码。多年来我一直在使用 Java 进行编程,我从未在方法中看到过类,但用户说这是常见的做法。我尝试检查 Oracle 代码约定文档,但没有弹出任何与此相关的内容。
显示相关部分的代码如下:
public void start(){
//...
class startListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
started = true;
}
}
panel.getStartButton().addActionListener(new startListener());
//...
}
These do seem to compile just fine
方法中的类有哪些规则?
【问题讨论】:
-
匿名类很常见,而不是你展示的。真的没有理由让他们在那里。
-
@SotiriosDelimanolis 我非常了解匿名类并经常使用它们。不同之处在于这些都是记录在案的。
-
改用Local Class。
-
@Scott 谢谢你!我不知道它是用那个名字,所以这是一个副本。到时候我会把它标记为关闭。
标签: java conventions