ciao a tutti

chiedo scusa per il titolo ma era difficile riassumere la mia domanda

mi chiedevo come mai si usa estendere JFrame per creare dei programmi

codice:
class Program extends JFrame
{
   public static void main()
   {
       new Program();
   }
}
per me è concettualmente sbagliato... ma forse mi sbaglio
in quanto il programma non è un'estensione di un frame, ma è un'applicazione che UTILIZZA un JFrame per mostrare i comandi

codice:
class Program
{
   public JFrame window;
   public static void main()
   {
       new Program();
   }
   Program(){  window = new JFrame();  }
}
n.b. ho usato l'esempio di java ma vale per tutti i linguaggi oop

cosa ne pensate?