两个类,第一类的初始化取决于第二类,反之亦然

Tho*_*hor 1 java

出于好奇,我以某种方式想出了两个类,其中一个类的初始化依赖于另一个类的实例,如下所示:

public class MyClass {
    public static void main(String[] args) {
        //How to initialize an instance of class One or class Two 
    }
}

class One{
    Two t;
    One(Two t){
        this.t = t;
    }
}

class Two{
    One o;
    Two(One o){
        this.o = o;
    }
}
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有可能初始化一级或二级的实例?如果不可能,有没有人在他们的项目中遇到类似的情况?有没有办法解决这种相互依赖性问题?

Ame*_*bsa 5

实际上你可以简单地实例化其中任何一个参考另一个类是null

例如,你可以写

One o = new One(null);
Two t = new Two(o);
o.t = t; // or use a setter
Run Code Online (Sandbox Code Playgroud)

  • 我冒昧地添加了一个例子. (2认同)