计数器无法解析为类型

Posted

技术标签:

【中文标题】计数器无法解析为类型【英文标题】: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 编译器有关:***.com/questions/1124788/… @MichaelPickett:如果代码中没有声明构造函数,Java 会生成无参数构造函数。 如果 CounterDriver 类在同一个包中,则根本不需要导入类 Counter - 同一个包中的类自动可以相互看到。跨度> @BelaVizer:是的,但即使缺少导入,编译器也会出错。这个问题看起来像是一个运行时错误。顺便说一句,这些类也可能都在默认包中。我的赌注是 Eclipse 编译器。干净的构建来解决。 【参考方案1】:

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

【讨论】:

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

【讨论】:

以上是关于计数器无法解析为类型的主要内容,如果未能解决你的问题,请参考以下文章

toast 无法解析,activitynotfoundexception 无法解析为类型

无法解析为类型(jsp + eclipse)

Cucumber 无法解析为类型

EnableConfigServer 无法解析为类型

EnableWebSecurity 无法解析为类型

SpringBootTest 无法解析为类型