我正在尝试下面的代码,但它不允许我在 main 方法之外初始化套接字对象。有人可以向我解释这个问题吗?
import java.net.DatagramSocket;
public class Server
{
DatagramSocket socket = new DatagramSocket();
public static void main(String[] args) {
Server server = new Server();
//server.socket = new DatagramSocket(); this is the suggested and working way
}
}
/*The error is : error: unreported exception SocketException; must be caught or declared to be thrown
DatagramSocket socket = new DatagramSocket();*/
为什么我在 main 方法之外初始化其他对象时没有收到错误消息?是否应该在 main 方法中初始化所有对象?
更新: 让我感到困惑的是这个问题的答案:“通常,您不会在 METHODS 之外创建对象 - 主要或其他。所以你可以在 main 之外创建对象,但在一些 OTHER 方法中。”</p>
为什么这是个问题?