所以我有一个类似的代码:
A类
B类
methodB(frame initialization)
C类
methodC(frame initialization)
ClassA 的对象调用 ClassB ,然后初始化一个帧。现在,当按下 ClassB 上的按钮时, ClassC 的对象被初始化。
当按下 ClassC 上的按钮时,我需要使用更新的参数重新初始化 ClassA 的对象。因此,在从 ClassC 重新初始化 ClassA 的对象时, ClassC 的旧对象仍然存在。
当按下某个特定按钮时,如何退出 ClassA 的旧对象并初始化 ClassA 的新对象?我是能够创建 ClassA 的新实例,但问题是退出 ClassC 中的上一个对象,因为如果我在 classC中添加System.exit(0)
,它会关闭 ClassA 的两个对象。我只想关闭旧物体。
答案 0 :(得分:2)
编辑:你不能这样做。您无法重新初始化this
或通过重新构建全局覆盖实例。
您需要保留对现有A类实例的引用。在创建B类实例时,让它接受构造函数中的A类并传递this
。在创建C类时也是如此。现在,如果你有适当的getter,你可以在C中调用this.getB().getA().performSomeUpdate()
whre performSomeUpdate
通过设置字段将A实例更新为新参数。