Perché la JVM può chiamare il metodo per voi (comunque meglio crede). Altrimenti, dove finirà la tana del coniglio? Avrebbero potuto fare esattamente quello che stai suggerendo creando un noto interface
, con un metodo main
. Ad esempio:
interface ApplicationStarter
{
void start(String []args);
}
Ma poi ci sono preoccupazioni relative al costruttore. Esistono numerosi framework che si imbattono in problemi simili, come SPI, che richiede un costruttore predefinito (no-arg) per ragioni simili. Tali strutture falliscono quando i loro requisiti predefiniti (ad es. Costruttore no-arg o forse non Serializeable
per altri framework), ei principianti lo trovano difficile. Rendere la parte più basilare di un'applicazione "complicata" non è un buon modo per ottenere l'adozione.
Per un punto di inizio/entrata dell'applicazione, è molto più semplice dipendere da un punto di ingresso noto (main
) analogo a praticamente ogni altra lingua: nessuna preoccupazione per l'oggetto che non costruisce, o sovrascrive.
Perché ... questo è il significato della parola chiave 'static'?Perché etichettare un metodo 'static' afferma esplicitamente che non vuoi che sia collegato a un oggetto specifico? –
Perché abbiamo un oggetto di classe. – StarPinkER