Ok mi rispondo da sola, nel caso sia utile anche per qualcun altro. Alla domanda 1) la risposta è che quel tipo di notazione tratta di una classe interna anonima. Mentre alla domanda sul JFrame ho capito che in pratica l'oggetto JFrame è creato nella classe stessa che eredita da JFrame con questa istruzione qua:
new StartPanel().setVisible(true);