首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2012-06-07 
内部类不能访问外部类的变量吗?Java codeimport javax.swing.*import java.awt.*import java.awt.event.

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

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)

热点排行