在Java中,任何人都可以解释为什么这个对象是null?

Arc*_*her 0 java null exception

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);
  }
}
Run Code Online (Sandbox Code Playgroud)

我得到一个Null Pointer Exception,因为manager是null.我已经在代码中的其他地方实例化了Monitor的对象.当我尝试使用方法"addObject"时,它会在打印"manager null"之前给我NPE(因为它显然是).

我觉得我在这里遗漏了一些非常基本的东西......任何人都可以帮忙吗?

A.H*_*.H. 6

你的构造函数包含

TheManager manager = new TheManager();
Run Code Online (Sandbox Code Playgroud)

代替

this.manager = new TheManager();
Run Code Online (Sandbox Code Playgroud)

同样的游戏subjectMap.