【问题标题】:Counter cannot be resolved to a type计数器无法解析为类型
【发布时间】:2017-02-03 00:51:57
【问题描述】:

我刚开始学习java,我创建了一个对象计数器:

public class Counter 
{
    private int value;
    public void setCounter(int count)
    {
        value = count;
    }
    public void click()
    {
        value = value + 1;
    }
    public int getValue()
    {
        return value;
    }
    public void reset()
    {
        value = 0;
    }
}

当我试图在我的 Driver 类中创建一个 Counter 对象时,它给了我错误: 线程“main”java.lang.Error 中的异常:未解决的编译问题:无法将计数器解析为类型 计数器无法解析为类型 在 Driver.main(Driver.java:4)

public class Driver {
    public static void main(String[] args) {
        Counter count = new Counter();
        count.setCounter(0);
    }
}

我不确定这是否有必要,但我使用 eclipse。

编辑: 我将这两个类复制并粘贴到另一个项目中的新类中并且它有效,所以我认为它可能与 eclipse 而不是我的代码有关。

【问题讨论】:

  • 好吧,您根本没有真正导入 Counter 类。需要有关包结构的更多信息。导入 ....计数器;好像不见了
  • 我猜它与这里建议的内部 Eclipse 编译器有关:stackoverflow.com/questions/1124788/…
  • @MichaelPickett:如果代码中没有声明构造函数,Java 会生成无参数构造函数。
  • 如果 CounterDriver 类在同一个包中,则根本不需要导入类 Counter - 同一个包中的类自动可以相互看到。跨度>
  • @BelaVizer:是的,但即使缺少导入,编译器也会出错。这个问题看起来像是一个运行时错误。顺便说一句,这些类也可能都在默认包中。我的赌注是 Eclipse 编译器。干净的构建来解决。

标签: java eclipse


【解决方案1】:

检查您是否已导入您的 Counter 类 - 而不是来自内置库 (org.w3c.dom.css.Counter) 的类。

【讨论】:

    【解决方案2】:
    1. 我认为计数器和驱动程序在不同的包中。
    2. 如果两个类都在同一个包中并且计数器类可能 没有被保存,所以没有生成.class(在eclipse中,当你保存任何类时,它会默认生成.class)
    3. 如果两个类在不同的包中,那么你需要导入 计数器类

    【讨论】:

      猜你喜欢
      • 2015-10-22
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      • 2013-12-14
      • 2015-06-10
      • 1970-01-01
      • 2015-11-22
      • 1970-01-01
      相关资源
      最近更新 更多