【发布时间】:2016-01-27 11:31:53
【问题描述】:
我有 3 节课。
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 转入下一个类链。是的,我也可以通过其他方式做到这一点,但我只想使用类的对象链接所有这些。
问题在于 Api 类,我只是希望在创建 Checks 类的对象时将修改后的 URL 发送到那里。
【问题讨论】:
-
Api的构造函数不应该用传递给它的URL的实例来初始化Checks吗? -
但是我不能调用count方法,因为api.checks会抛出错误。
-
基本问题是
Checks checks = new Checks(url);不起作用,因为当变量初始化时url的实例是null。相反,您需要使用传递给构造函数的参数来初始化Api的构造函数内部的变量
标签: java class variables inner-classes