我試圖在多線程應用程序上應用狀態模式。問題是編譯器不喜歡我的類擴展線程的事實。下面是代碼: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