Java:无法访问公共成员变量

时间:2018-04-26 06:24:06

标签: java

我正在努力访问成员变量而无法找到任何解释。如果我调用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...
}

1 个答案:

答案 0 :(得分:8)

您需要将构造函数更改为var ff = function (el) { return function () { alert(el) }; }

this.config = config

这里发生的事情是你将config的值分配给config的传递值而不是类级变量。

您需要做的是:

public App(RestConfig config){
        config = config;
      } 

因此类级别变量/字段保持为空。