Java 线程类中的编译错误

Java 线程类中的编译错误,java,abstract,Java,Abstract,我有一个类(如下),但是每当我试图编译代码时,我都会得到一个错误,即类不是抽象的 谁能解释一下这意味着什么以及我需要做什么不同的事情 package huntermessenger; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.Socket; import java.util.Scanner; public class HunterClient implements

我有一个
(如下),但是每当我试图编译代码时,我都会得到一个错误,即
不是
抽象的

谁能解释一下这意味着什么以及我需要做什么不同的事情

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);
            }
        }
    }
}

java区分大小写:

public void Run() {
不同于

public void run() {
public void run() {
您需要实现
run()
而不是
run()

把它改成


java区分大小写:

public void Run() {
不同于

public void run() {
public void run() {
您需要实现
run()
而不是
run()

把它改成

Run()不应大写。run()是一个抽象方法,您没有重写它,因为您正在实现run()。因此,您的类仍然有一个抽象方法,但该类不是抽象的,因此会出现错误


Run()不应大写。run()是一个抽象方法,您没有重写它,因为您正在实现run()。因此,您的类仍然有一个抽象方法,但该类不是抽象的,因此会出现错误。

您错过了
run()
方法。请阅读Java代码约定。使用合适的IDE。它会很早警告您。您错过了
run()
方法。请阅读Java代码约定。使用合适的IDE。它会很早警告你。