Java错误 - 发送不是抽象的,并且不会覆盖Runnable中的抽象方法run()

时间:2015-03-15 06:08:34

标签: java

当我尝试编译我的java工作时,我收到以下错误。

Send.java:16: error: Send is not abstract and does not override abstract method run() in Runnable
public class Send implements Runnable {
       ^
1 error

我的Send.java代码是

public class Send implements Runnable {

    private byte[] data = new byte[0];
    private String from = "";
    static DataOutputStream out = null;


    public Send(byte[] data, String from) throws IOException {
        data = data;
        from = from;

        out = Server.os;


        Log.logInfo("Data:" + DatatypeConverter.printHexBinary(data) + "");
        Log.logInfo("From:" + from + "");
        Log.logInfo("OS:" + out + "");




    }

}

在服务器文件中定义os输出流的代码是:

public class Server implements Runnable {

    private Socket socket;
    public static DataOutputStream os = null;
    private DataInputStream is = null;

    public Server(String originalHost) throws Exception {
        socket = new Socket(originalHost, 9339);

        Log.logInfo("* Connected to Server");
    }


    @Override
    public void run() {

        int bytes_read;
        try {

            DataInputStream is = new DataInputStream(socket.getInputStream());
            DataOutputStream os = new DataOutputStream(socket.getOutputStream());
....

我需要保留send.java代码以使输出流相同,因为很快它也将从另一个文件中获取相同的变量,具体取决于if语句。

有没有想过如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:2)

您有Send类实现Runnable接口,但不要像在服务器类中那样覆盖run()方法。

在Send类中实现以下方法:

@Override
public void run() {}