Я пытаюсь код ниже, но он не позволяет мне инициализировать объект сокета вне метода 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?
Обновление: Что меня поразило, так это ответ на этот вопрос : «Как правило, вы не создаете объекты снаружи МЕТОДОВ - основных или иных. Таким образом, вы МОЖЕТЕ создавать объекты вне основного, но внутри какого-то ДРУГОГО метода ».
Почему это проблема?