o codigo gerado pelo netBeans ele cria uma nova Thred para iniciar a sua aplicação.
o codigo new Login().setVisible(true); eh a mesma coisa que:
Login app = new Login();
app.setVisible(true);
mas a forma do netBeans eh uma forma mais resumida e nao tem nenhuma variavel de referencia.
new Login() //vc está chamando o contrutor da Classe login que retorna
um novo objeto Login assim vc ja pode se referenciar a esse novo objeto apos os () do Login(); onde Login().setVisible(true);
tomara que pude lhe ajudar nao sou muito bom para explicar. rsrsrs
O NetBeans faz isso, porque ele precisa manipular os processos da sua aplicação, ou seja, você poderia executar esse programa várias vezes, ou executar outro programa, e ele gerenciaria os processos que ficam na aba de Execução.
Espero ter sido claro!!