【发布时间】: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 会生成无参数构造函数。
-
如果
Counter和Driver类在同一个包中,则根本不需要导入类Counter- 同一个包中的类自动可以相互看到。跨度> -
@BelaVizer:是的,但即使缺少导入,编译器也会出错。这个问题看起来像是一个运行时错误。顺便说一句,这些类也可能都在默认包中。我的赌注是 Eclipse 编译器。干净的构建来解决。