Java-我有一个.get()的实例,但它在Server.Main.Main(Main.Java:18)处给出了错误Java.lang.NullPointerException

Java-我有一个.get()的实例,但它在Server.Main.Main(Main.Java:18)处给出了错误Java.lang.NullPointerException,java,Java,这是我的Main.java,它围绕着服务器套接字生成“get().logger().tag();”后的部分。我在实例中添加了所有这些,我真的不确定它到底出了什么问题 public class Main { private Logger LOGGER; private static Main INSTANCE; public static void main(String[] args) throws IOException { try

这是我的Main.java,它围绕着服务器套接字生成“get().logger().tag();”后的部分。我在实例中添加了所有这些,我真的不确定它到底出了什么问题

public class Main {

    private Logger LOGGER;
    private static Main INSTANCE;

    public static void main(String[] args) throws IOException {
        try 
        {
            final int PORT = 43594;
            ServerSocket server = new ServerSocket(PORT);
            System.out.println("Waiting for clients to connect...");
            get().logger().tag(); //This is the part which gives the error 
            get().logger().log("Starting up" + Settings.Settings.NAME + "...");
            //get().init();
            while (true)
            {                                               
                Socket s = server.accept();

                //System.out.println("Client connected from " + s.getLocalAddress().getHostName());

                Client chat = new Client(s);
                Thread t = new Thread(chat);
                t.start();
            }
        } 
        catch (Exception e) 
        {
            System.out.println("An error occured.");
            e.printStackTrace();
        }
    }

    public Main(int world) {
        this.LOGGER = new Logger();
    }

    public Main init() {
        try {
            long currentTime = Utils.currentTimeMillis();
            logger().log("Completed loading in " + (Utils.currentTimeMillis() - currentTime) + " ms.");

        } catch (Exception e) {
            logger().error("Unable to start server...");
            logger().error(e);
        }
        return this;
    }

    public Logger logger() {
        return LOGGER;
    }

    public static Main get() {
        return INSTANCE;
    }

}
我知道这是get()要做的事情。但我不确定

任何帮助都会有很大帮助


谢谢,

您没有在任何地方分配
实例
,鉴于它是
私有的
,我猜它也是
空的


分配
INSTANCE=newworld(…)

您忘记创建Main.INSTANCE=newworld(Integer.parseInt(args[0])的新实例//会是这样吗?我不太确定放在括号里的是什么我不知道,
args[0]
你想要什么?测试它?public static void main1(String[]args){Settings.Settings.DEBUG=Boolean.parseBoolean(args[1]);INSTANCE=new Main(Integer.parseInt(args[0]);}//我不太清楚我添加了这些args之后该怎么做