Java 重新加载具有不同参数的类

Java 重新加载具有不同参数的类,java,swing,exit,systemexit,Java,Swing,Exit,Systemexit,所以我有一个代码,它是这样的: A类 B类 methodB(frame initialization) C类 methodC(frame initialization) 类a的对象调用类B,然后初始化帧。现在,当按下ClassB上的按钮时,ClassC的一个对象被初始化 当按下ClassC上的按钮时,我需要用更新的参数重新初始化ClassA的对象。因此,当从ClassC重新初始化ClassA对象时,ClassC的旧对象仍然存在 当按下某个特定按钮时,如何从ClassA的旧对象退出并初始化Cl

所以我有一个代码,它是这样的:

A类

B类

methodB(frame initialization)
C类

methodC(frame initialization)
类a的对象调用类B,然后初始化帧。现在,当按下ClassB上的按钮时,ClassC的一个对象被初始化

当按下ClassC上的按钮时,我需要用更新的参数重新初始化ClassA的对象。因此,当从ClassC重新初始化ClassA对象时,ClassC的旧对象仍然存在


当按下某个特定按钮时,如何从ClassA的旧对象退出并初始化ClassA的新对象?我可以创建ClassA的新实例,但问题在于从ClassC的前一个对象退出,因为如果我在ClassC中添加
System.exit(0)
,它将关闭ClassA的两个对象。我只想关闭旧对象。

编辑:您不能这样做。您不能重新初始化此,也不能通过重新构建实例来全局覆盖实例


您需要保留对现有类a实例的引用。当创建类B的实例时,让它接受构造函数中的类A并传递
this
。创建类C时也是如此。现在,如果您有合适的getter,您可以在C中调用
this.getB().getA().performSomeUpdate()
whre
performSomeUpdate
通过设置字段将A实例更新为新参数。

如果使用singleton,您将只有一个A实例。因此,如果您将其初始化两次,第一个实例将被第二个实例替换。使用类构造函数…@AliBZ:Singleton是一个很好的选择。@StanislavMamontov:你能详细说明一下吗?你的问题没有任何意义,你应该先弄清楚什么是类,什么是对象,什么是方法。您不调用“类”,而是调用对象(某个类的实例)的方法。你不初始化一个类(但可能你实例化/初始化一个对象实例),我只是在做这件事。我面临的问题是,有一个GUI在B中使用以前的参数初始化。参数会被更新,但只有在重新启动后才会使用。请记住,这还取决于ClassA、ClassB和ClassC对象的类型。如果它们是某种内部框架(例如),您可以隐藏它们并使其可见;每个操作都会生成一个GUI事件,当这些事件发生时,您的代码可以侦听并执行这些操作。本质上,您可以通过侦听器“重新初始化”内部帧。当然,这只是一个例子。