【发布时间】:2015-02-14 16:19:24
【问题描述】:
我在文件State.java 中定义了一个enum:
public enum State {
NONE, CHOOSINGMUD, PLAYING
}
我有一个公共课程Server,我可以从中使用State.NONE 访问枚举,这工作正常。
但是,在Server 中,我定义了一个公共内部类,当我尝试在那里访问State.NONE 时,我得到一个cannot find symbol error:
symbol: variable State
location: class Server
如何在这个内部类中使用State?是否可以像我在Server 班级中那样直接这样做?在我看来,它正在其父类 (Server) 中寻找 State。
这是我的内部类的代码。我已经简化了,但是这里的打印语句会返回同样的错误:
public class ClientConnection extends Thread
{
private PlayerInterface player;
ClientConnection(PlayerInterface player) throws IOException
{
this.player = player;
System.out.println(State.NONE);
}
}
【问题讨论】:
-
可以贴一下内部类的代码吗?
-
我已经发布了内部类,希望对您有所帮助。
-
最坏的情况,你可以将内部类设为静态。
-
您可能与线程中的 State 对象发生冲突。它没有 NONE 属性...有很多称为 State 的对象,请确保它是您的,请查看您的导入语句