关于内部类调用局部变量为什么必须声明成final类型的!!
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class E{
public E(){
JFrame f=new JFrame("keyevent");
final JButton b=new JButton("button");
JLabel l=new JLabel("label");
f.setSize(100,100);
Container contentPane=f.getContentPane();
contentPane.add(l);
f.setVisible(true);
l.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent e){
b.requestFocus();
System.out.println("typed");
}
});
}
public static void main(String [] args){
new E();
}
}
我翻译时为什么说,在内部类中调用局部对象b一定要申明成final类型.final表明这个是常量,和他是否能被调用有什么关系哦!!