为什么SWING总是强迫我将某些特定对象标记为最终?由于这有时会使事情变得有点困难,有没有办法避免这种情况?Swing和最终修饰符
(不完全例),其中它迫使我的IExchangeSource变量标记为最终的:
public class MainFrame {
private final JTextArea textArea = new JTextArea();
public static void main(final IExchangeSource s) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new MainFrame(s);
}
});
}
public MainFrame(final IExchangeSource s) {
//build gui
s.update();
你能举个例子吗?你是否正在讨论在匿名内部类中使用周围方法的变量?因为Swing本身没有什么能够强制你使变量成为'final'。 – Jesper 2012-01-05 15:36:15
我敢打赌,你正在使用匿名内部类。 – 2012-01-05 15:37:04