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

我设计了一个带有 jTextArea 的 GUI。在这门课中,我可以很容易地将文本附加到此。但我也想从其他类的方法中附加文本。

为此,我将 jTextArea 设为公开,并在另一个类中创建该类的对象。现在我可以在执行其他类中的方法时写入 jTextArea。

但事实证明,我还需要在 GUI 类中创建对象的类的方法。当我这样做时,会发生 StackOverflowError。我应该怎么办?


UYOU
浏览 574回答 1
1回答

桃花长相依

您可以添加一个参数化构造函数,该构造函数将对象作为参数并在此构造函数中初始化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);......}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java