Java Handler是抽象的;无法实例化

时间:2014-05-31 22:34:29

标签: java handler

我正在尝试为使用Java制作的类似蠕虫的游戏设置Server(允许多人游戏和游戏内聊天),但我遇到了这个具体问题。

我尝试更改导入,但它没有解决问题。

此处的截图: http://i.stack.imgur.com/cAlQK.png

package Server;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.util.HashSet;

import java.util.logging.Handler;

public class Server {
    private static final int PORT = 9001;

    private static HashSet<String> names = new HashSet<String>();
    private static HashSet<PrintWriter> writers =
            new HashSet<PrintWriter>();

    public static void main(String[] args) throws Exception {
        System.out.println("The chat server is running.");
        try(ServerSocket listener = new ServerSocket(PORT)) {
            while (true) {
                new Thread(new Handler(listener.accept())).start();
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

正如错误所说,抽象类无法实例化,即我们不能在其前面添加单词new,除非您还添加了类主体并实现了任何抽象方法。或者,您可以创建一个扩展Handler的类,并再次确保添加所有抽象方法。

new Handler() {

    @Override
    public void close() throws SecurityException {
        // TODO Auto-generated method stub

    }

    @Override
    public void flush() {
        // TODO Auto-generated method stub

    }

    @Override
    public void publish(LogRecord arg0) {
        // TODO Auto-generated method stub

    }

};
相关问题
最新问题