为了账号安全,请及时绑定邮箱和手机立即绑定

java - 如何在另一个类中创建一个类的对象,反之亦然?

java - 如何在另一个类中创建一个类的对象,反之亦然?

UYOU 2021-07-12 12:08:40
我设计了一个带有 jTextArea 的 GUI。在这门课中,我可以很容易地将文本附加到此。但我也想从其他类的方法中附加文本。为此,我将 jTextArea 设为公开,并在另一个类中创建该类的对象。现在我可以在执行其他类中的方法时写入 jTextArea。但事实证明,我还需要在 GUI 类中创建对象的类的方法。当我这样做时,会发生 StackOverflowError。我应该怎么办?
查看完整描述

1 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

您可以添加一个参数化构造函数,该构造函数将对象作为参数并在此构造函数中初始化BTDBattlesBot对象,而不是new在AutomatedActions类中使用关键字BTDBattlesBot初始化对象。像下面这样


  public class AutomatedActions {

    ...............

   private final BTDBattlesBot botWindow = null;


   // Below is the parametrized constructor

   public AutomatedActions(BTDBattlesBot botWindow) {

   botWindow = this.botWindow;

  }


 ..........

}


然后在BTDBattlesBot类中,在创建类的对象时AutomatedActions,不调用默认构造函数,而是调用新创建的参数化构造函数,并BTDBattlesBot使用this关键字传递类的当前对象。通过这样做,您应该能够实现您想要的


class BTDBattlesBot {

......

AutomatedActions action = new AutomatedActions(this);

......

}


查看完整回答
反对 回复 2021-07-14
  • 1 回答
  • 0 关注
  • 573 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信