我正在努力访问成员变量而无法找到任何解释。如果我调用app.initDB(config),它可以工作;但是当我按原样调用initDB()时,config为null。请查看代码段以找到有问题的行。
我希望配置初始化,因为我在这里为app对象调用它。
public class App {
public RestConfig config;
public App(RestConfig config) {
config = config;
}
public void initDB() { // miss type returns
System.out.println(config); // <-- prints null , why?**
}
}
class RestMain {
public static void main(String[] args) throws IOException {
RestConfig config = new RestConfig();
App app = new App(config);
app.initDB();
}
}
public class RestConfig {
//some config...
}
答案 0 :(得分:8)
您需要将构造函数更改为var ff = function (el) {
return function () { alert(el) };
}
。
this.config = config
这里发生的事情是你将config的值分配给config的传递值而不是类级变量。
您需要做的是:
public App(RestConfig config){
config = config;
}
因此类级别变量/字段保持为空。