Ho notato almeno nei programmi java che le persone tendono a preferire iniziare i loro programmi creando e istanza della classe che contiene il metodo principale e attivando un metodo non statico al suo interno, in questo modo
class MainClass {
void start() {
//start the program flow
}
public static void main(String[] args) {
new MainClass().start();
}
}
Invece di avviare semplicemente il flusso del programma attraverso il metodo principale da un contesto statico, ad esempio
class MainClass {
public static void main(String[] args) {
//start the program flow
}
}
Mi stavo chiedendo, perché la gente preferisce il precedente metodo in quanto quest'ultimo sembra più semplice, e c'è qualcosa che dovrebbe determinare quale devo usare?