eclipse调试器中的重复值

时间:2014-06-07 10:29:48

标签: java eclipse

我正在eclipse中进行一些调试,我发现我的变量出现了两次,第二次出现为null:

enter image description here

(我应该说类名是AbstractSyntaxTree,因为它构建了一个AST - 不是因为它被声明为abstract - 尽管它确实从一个抽象类继承...)

谁能告诉我可能是什么原因造成的?它是关于调试器还是关于我的代码的东西?

编辑:让我们来看看代码......

public class AbstractSyntaxTreeBuilder extends AbstractSyntaxTreeSuperclass {
  protected GLLHashPool parser;
  protected String input;
  protected TreeNode root;
  protected ArtTextHandler handler;


  public AbstractSyntaxTreeBuilder(String sourceString) {
    super(sourceString);
  }
...

..和超类:

public abstract class AbstractSyntaxTreeSuperclass {
  protected GLLHashPool parser;
  protected String input;
  protected TreeNode root;
  protected ArtTextHandler handler;


  public AbstractSyntaxTreeSuperclass(String sourceString) {
    super();
    handler = new ArtTextHandler();
    Text text = new Text(handler);
    parser = new ArtGrammarParser(text);
    input = sourceString;
....

1 个答案:

答案 0 :(得分:4)

从AbstractSyntaxTreeBuilder中删除以下内容:

protected GLLHashPool parser;
  protected String input;
  protected TreeNode root;
  protected ArtTextHandler handler;

它们在超类(AbstractSyntaxTreeSuperclass)中声明为受保护,因此子类(AbstractSyntaxTreeBuilder)可以访问它们。