gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 07:01:10 24 4
gpt4 key购买 nike

我正在努力访问成员变量,但无法找到任何解释。如果我调用 app.initDB(config) ,它就会起作用;但是,当我按原样调用 initDB() 时,配置为空。请查看代码片段以找到有问题的行。

我期望配置被初始化,因为我在这里为应用程序对象调用它。

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...
}

最佳答案

您需要更改构造函数以具有 this.config = config

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

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

您需要做的是:

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

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

关于Java:无法访问公共(public)成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50036114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com