Изучая java, я часто смотрю ролики на YouTube, как другие люди пишут код и решают разные задачи. Я заметил, что часть из них оставляет точку входа в главном классе, а часть выносит в класс-лаунчер. В связи с этим первый вопрос:
1. Зачем выносить точку входа в отдельный класс?
Из тех, кто так делает, часть инициализирует программу в функции main, а часть создаёт поток, в котором вызывается конструктор класса-лаунчера. Я, конечно, с потоками ещё разбираюсь, но
2. Зачем создавать новый поток, если у программы есть собственный?
Я пробовал и так и так и, если честно, не понимаю в чём разница.
import javax.swing.*;
public class Launcher {
public Launcher() {
JFrame main = new JFrame("Java calculator");
main.setSize(360, 448);
main.add(new UserInterface(main));
main.setLocationRelativeTo(null);
main.setResizable(false);
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
main.setUndecorated(true);
main.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Launcher();
}
});
}
}