Я борюсь за понимание того, как работать с объектами Java из других объектов. У меня есть 3 простых классы: объекта 1) окружающей средыПонимание ссылок на другие классы в java - исключение нулевого указателя
public class Environment {
protected String envName;
public Environment(String envName){
this.envName = envName;
}
// get and set methods
public String getenvName(){
return envName;
}
public void setenvName(String envName){
this.envName = envName;
}
}
2) Класс, который будет заполнить этот объект
public class FetchConfig {
Environment environment;
public FetchConfig() {
}
public void buildConfig() {
environment.setenvName("Steve");
}
}
3) класс с основным методом с будет работать со своими объектами окружающей среды:
public class WorkWithEnvironment {
private FetchConfig config;
public static void main(String[] args) throws FileNotFoundException,
IOException {
WorkWithEnvironment w = new WorkWithEnvironment();
w.setupConfig();
w.readEnvNames();
}
private void setupConfig() throws FileNotFoundException, IOException {
config = new FetchConfig();
config.buildConfig();
}
private void readEnvNames() {
System.out.println("Environment name is: "
+ config.environment.getenvName());
}
}
Но когда я запускаю его, я продолжаю получать NPE (NullPointerException) здесь -> environment.setenvName («Steve»);
В классе 'FetchConfig' есть поле' Environment'. Если вы не инициализируете его для каждого экземпляра, он остается «null». –