我试图在多线程应用程序上应用状态模式。问题是编译器不喜欢我的类扩展线程的事实。下面是代码:Java线程 - 接口问题
public class ConnectionHandler extends Thread
private State lockedState;
public ConnectionHandler(Socket socket){
...
lockedState = new LockedState(this);
}
public State getState(){}
public void setState(State state){}
{
public interface State {
public void PASSWD(String pass);
public void ACCESS(String file);
public void getDIR();
public void QUIT();
}
public class LockedState implements State {
ConnectionHandler connectionHandler;
public LockedState(ConnectionHandler handler){
connectionHandler=handler;
}
public void PASSWD(String pass){
public void ACCESS(String file){}
public void getDIR(){}
public void QUIT(){}
}
我的错误是在ConnectionHandler的构造:不兼容的类型要求java.lang.Thread.State中发现:Networks2.LockedState。当我从Connectionhandler中移除扩展线程它不给任何错误,但那不是一个选项。 所以问题:我该怎么做,以便编译器不抱怨?谢谢
你能发布编译错误吗? – kuriouscoder 2011-05-22 18:30:56
不兼容类型 必需java.lang.Thread.State 找到:Networks2.LockedState。 – Giannis 2011-05-22 18:36:51