如何通过它的对象在 class 的整个调用链中修改变量?

How can I modify a variable throughout the chain of calling of class through it's objects?

我有 3 个 classes。

class ClientConnect(){
    URL url = new URL("http:XXX.XX.XX");
    Api api = new Api(url);
    api.checks.count();
}

class Api{
    ...
    URL url;
    Checks checks = new Checks(url);
    public Api(URL url){
        url = new URL(url+"/api");
    }
}

class Checks{
    ...
    public Checks(URL url){
        url = new URL(url+"/checks");
    }
    public void count(){
        url = new URL(url+"/count");
        System.out.println(url);
    }
}

我希望调用 api.checks.count() 的输出为 http:XXX.XX.XX.XX/api/checks/count ,但我得到的是空值。我怎样才能将修改后的 URL 转发到 class 的下一个链中。是的,我也可以用其他方式做到这一点,但我只想使用 classes 的对象链接所有这些。

问题出在Apiclass,我只是想在里面创建Checksclass的对象时将修改后的URL发送到那里。

修改Api构造函数,将url传给URL构造函数afterinitialize url(正如@Jonk在评论中指出的那样,应该是this.url)。像,

URL url;
Checks checks; // <-- url is null.
public Api(URL url){
    this.url = new URL(url+"/api");
    checks = new Checks(this.url); // <-- now url is initialized.
}