读书人

内部类不能访问外部类的变量吗?解决思

发布时间: 2012-06-07 15:05:14 作者: rapoo

内部类不能访问外部类的变量吗?

Java code
import javax.swing.*;import java.awt.*;import java.awt.event.*;public class InformationTable extends JTable {    public InformationTable(AlterPanel alterPanel) {        super(new ResultTableModel());                this.getTableHeader().setReorderingAllowed(false);        this.addMouseListener(new MouseAdapter() {            public void mouseClicked(MouseEvent me) {                int rowIndex = getSelectedRow();                JTextField[] fieldList = { alterPanel.getIdField(),                        alterPanel.getNameField(), alterPanel.getSexField(),                        alterPanel.getBirthField(), alterPanel.getClassField(),                        alterPanel.getDepartmentField() };            }        });    }}


为什么下面那段代码总是报错?
Java code
JTextField[] fieldList = { alterPanel.getIdField(),                        alterPanel.getNameField(), alterPanel.getSexField(),                        alterPanel.getBirthField(), alterPanel.getClassField(),                        alterPanel.getDepartmentField() };


报错是:Cannot refer to a non-final variable alterPanel inside an inner class defined in a different method

为什么呢?


[解决办法]
public InformationTable(final AlterPanel alterPanel)

读书人网 >J2SE开发

热点推荐