Gia*_*nis 0 java multithreading
我试图在多线程应用程序上应用状态模式.问题是编译器不喜欢我的类扩展Thread的事实.这是代码:
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(){}
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是ConnectionHandler的构造函数:找不到兼容的类型java.lang.Thread.State:Networks2.LockedState.当我从Connectionhandler中删除extends Thread时,它不会给出任何错误,但那不是一个选项.所以问题是:我该怎么做才能让编译器不抱怨?谢谢
我认为扩展java.lang.Thread是一个非常糟糕的主意.我怀疑你是否会提供值得延期的行为.
我打赌你真的想要实施java.lang.Runnable并让它执行java.lang.Thread.
| 归档时间: |
|
| 查看次数: |
597 次 |
| 最近记录: |