class Monitor {
TheManager manager;
Map<String, Subject> subjectMap;
public Monitor() {
TheManager manager = new TheManager();
Map<String, Subject> subjectMap = new HashMap<String, Subject>();
}
public void addObject(String objName, Object obj) {
if(objName == null) System.out.println("name null");
if(obj == null) System.out.println("obj null");
if(manager == null) System.out.println("manager null");
manager.addObject(objName, obj);
}
}
我收到空指针异常,因为 manager 为空。我在代码中的其他地方实例化了一个 Monitor 对象。当我尝试使用“addObject”方法时,它在打印“manager null”之前给了我 NPE(因为显然是这样)。
我觉得我在这里错过了一些非常基本的东西......有人可以帮忙吗?
最佳答案
你的构造函数包含
TheManager manager = new TheManager();
而不是
this.manager = new TheManager();
subjectMap
的游戏相同。
关于java - 在Java中,谁能解释为什么这个对象为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11621690/