在 Java 中的方法中初始化对象

Initializing an object in a method in Java

假设我想在 class 中有一堆私有静态对象,但它们是复杂的对象,我想使用特定的函数用一些参数初始化它们。理想情况下,我会编写这样的代码:

public class TestClass{
    private Class ComplicatedObject{
        private int anInteger;
        private String aString;
        public ComplicatedObject(int inputInt,String inputString){
             anInteger = inputInt;
             aString = inputString;
        }
        public void someMethod(){
            //do a thing
        }
    }
    private void MakeAThing(ComplicatedObject theThing, int someInt,int someString){
        theThing = new ComplicatedObject(someInt,someString);
        //do extra stuff that one might want to do here
    }
    private static ComplicatedObject IMPORTANT_OBJECT;
    public TestClass(){
         MakeAThing(IMPORTANT_OBJECT, 0,"Test");
         IMPORTANT_OBJECT.someMethod();
    }
}

这会崩溃,因为(据我所知 Java)当我在 IMPORTANT_OBJECT 上调用 someMethod() 时,IMPORTANT_OBJECT 实际上是 null - MakeAThing 方法确实创建了一个新对象,但实际上只有它的内部引用(theThing)引用了新对象。 IMPORTANT_OBJECT 的引用仍然为空。

有什么方法可以编写一个方法来更改 IMPORTANT_OBJECT 的引用以引用新对象?

(是的,我知道一个简单的解决方案是只说 IMPORTANT_OBJECT = new Object(); 然后稍后添加参数,但这会使我的代码非常混乱(有很多 "important objects")和如果有另一种方式,我会更喜欢它。)

return new ComplicatedObject:

函数怎么样
private ComplicatedObject MakeAThing(int someInt,int someString){
    return new ComplicatedObject(someInt,someString);
}

并且只需在 TestClass 构造函数

中初始化 IMPORTANT_OBJECT
public TestClass(){
     IMPORTANT_OBJECT = (0,"Test");
     IMPORTANT_OBJECT.someMethod();
}

还是我误解了问题?