当前位置: 代码迷 >> J2SE >> 内部类不能访问外部类的变量吗?解决思路
  详细解决方案

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

热度:50   发布时间:2016-04-24 00:51:56.0
内部类不能访问外部类的变量吗?
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)
  相关解决方案