【问题标题】:Reference outer class instance from inner class [duplicate]从内部类引用外部类实例[重复]
【发布时间】:2014-01-21 08:57:14
【问题描述】:

我想将在 main 方法中创建的确切实例传递给以 MPGui 作为参数的新 Executor。这可能吗?

public class MPGui {
  public MPGui() {
    //initialize GUI
  }

  public class ExecuteListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {

      Executor execu = new Executor(MLA, /*the MPGUI() instance */);
      execu.execute();          
    }
  }

  public static void main(String[] args) {
    MPGui a = new MPGui();
  }
}

【问题讨论】:

  • 这取决于你打算如何使用ExecuteListener。一个明显的解决方案是为它创建一个构造函数并将 MPGui 实例传递给它。不过,您已将其显示为内部类。 @subtenante 所说的可能是您正在寻找的内容。

标签: java


【解决方案1】:

试试这个(好吧.... MPGUI.this 实际上):

public class MPGui {
        public MPGui() {
                //initialize GUI
        }

        public class ExecuteListener implements ActionListener {
                public void actionPerformed(ActionEvent e) {

                        Executor execu = new Executor(MLA, MPGUI.this);
                        execu.execute();

                }
        }

        public static void main(String[] args) {
                MPGui a = new MPGui();
        }
}

【讨论】:

  • 没有什么比答案...和双关语! :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-21
  • 1970-01-01
  • 2011-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多