0

(以下)がclassありますが、コードをコンパイルしようとすると、classis notというエラーが表示されますabstract

これが何を意味し、何を別の方法で行う必要があるかを誰かが説明できますか?

package huntermessenger;

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.Scanner;

public class HunterClient implements Runnable {
    private static final String SERVER_IP = "127.0.0.1";
    private static final int SERVER_PORT = 5000;
    Scanner scanner = new Scanner(System.in);   //to read text from the console
    Socket socket = null;

    public void Run() {
        try {
            socket = new Socket(SERVER_IP, SERVER_PORT);
            System.out.println("Connected to server");
        } 
        catch (Exception ex) {
            System.out.println("Error connecting to server: " + ex.getMessage());
        }
        ObjectInputStream in = null;
        ObjectOutputStream out = null;
        while (true) {
            try {
                if (out == null) {
                    out = new ObjectOutputStream(socket.getOutputStream());
                }

                //read a string
                System.out.println("Enter a message: ");
                String str = scanner.next();

                //send it to server
                out.writeObject(new Message(str));
                out.flush();

                //get the reply from the server
                if (in == null) {
                    in = new ObjectInputStream(socket.getInputStream());
                }
                Message message = (Message) in.readObject();
                System.out.println("Server said: " + message.getMessage());

            } 
            catch (Exception ex) {
                System.out.println("Error: " + ex);
            }
        }
    }
}
4

2 に答える 2

4

Java では大文字と小文字が区別されます。

public void Run() {

と同じではありません

public void run() {

run()notを実装する必要がありますRun()

に変更するだけです

public void run() {
于 2013-01-04T13:54:53.463 に答える
0
public void Run() {}

Run() は大文字にしないでください。run() は抽象メソッドであり、代わりに Run() を実装しているため、オーバーライドしていません。そのため、クラスにはまだ抽象メソッドがありますが、クラスは抽象ではないため、エラーが発生します。

于 2013-01-04T13:54:58.580 に答える