访问在动作事件java中初始化的类实例

访问在动作事件java中初始化的类实例,java,swing,class,instances,Java,Swing,Class,Instances,我试图让一个类读取属于另一个类的一个实例的变量。仅当按下JButton时,才会启动从中读取的类。从我的实验来看,我似乎无法访问该类的任何变量(可能是因为编译器不确定第一个类是否会真正启动?) 有人知道解决这个问题的方法吗 很抱歉说得含糊不清 public class MainClass extends JComponent implements ActionListener{ JButton button = new JButton("Run Program"); MainClass

我试图让一个类读取属于另一个类的一个实例的变量。仅当按下JButton时,才会启动从中读取的类。从我的实验来看,我似乎无法访问该类的任何变量(可能是因为编译器不确定第一个类是否会真正启动?)

有人知道解决这个问题的方法吗

很抱歉说得含糊不清

public class MainClass extends JComponent implements ActionListener{
   JButton button = new JButton("Run Program");
   MainClass INSTANCE = new MainClass()  // create an instance of the main class to refer to later
        constructor(){

        this.add(button);
        button.addActionEventListener(this);
        }

    actionPerformed(ActionEvent e){
    if(e.getSource == button){
     NextClass nextClass = new NextClass();  // class being read from
     FinalClass finalClass = new FinalClass(); // class doing the reading
    }



   public class NextClass{
   boolean state = true; // what is being read

    constructor(){}
   }



    public class FinalClass{
    constructor(){
    if(MainClass.INSTANCE.nextClass.state == true){do something...}
    }
    }

基本上,按下按钮时会创建nextClass和finalClass实例。在最后一个类中,我想检查nextClass类的nextClass实例中的状态变量。在下一个类中,我似乎无法访问状态变量或任何其他变量或函数。我的假设是,无法保证下一个类会被实际启动?

您的
MainClass实例
对象没有
nextClass
字段。唯一的
nextClass
名称作为局部变量存在于
actionPerformed
方法中。为了实现您想要的功能,我认为您只需要消除局部变量,并将
nextClass
设置为
MainClass
的字段。(这有点难说,因为您发布的代码更多的是伪代码,而不是实际的Java。)

好的,我想我知道了怎么做。我无法在mainClass中初始化nextClass,因为这样它将开始先发制人地运行,并简单地声明它也不起作用


解决方案是为下一个接受参数的类创建新的构造函数。但是,构造函数将是空的(没有要调用的方法或任何东西)。通过这种方式,我可以初始化nextClass,而不会导致它先发制人地运行其方法

你能再澄清一点吗?一个完整的(如果很少的话)代码示例显示你的问题可能有助于澄清问题。事实上,这个问题太模糊了,我无法理解。请编辑您的问题,而不是试图在评论中发布代码示例。请将您的代码放在帖子中。代码很长。我给出了一个简明的场景,描述了我要做的事情——“对不起,我说的不清楚”——与其道歉,不如澄清。