Avvio dell'esecuzione del programma Java [duplicato]

0

Durante la lettura della programmazione Java non sono riuscito a capire perché afferma che la ragione di necessità principale statica di Java è perché "prima dell'inizio del programma, non ci sono oggetti per inviare messaggi a" come detto nella diapositiva 8 di variabili statiche .

Il motivo per cui non ho potuto ottenere questo è perché hai bisogno di un oggetto per eseguire un programma . Penso che nel programma C non abbiano invocato alcun oggetto per eseguire l'esecuzione del programma C.

Anche dal momento che il linguaggio macchina è una sequenza di istruzioni, perché dovremmo considerare gli oggetti qui quando il bytecode Java è anche quasi un linguaggio macchina.

    
posta justin 28.11.2014 - 11:40
fonte

1 risposta

2

Il problema fondamentale è che è necessario disporre di un punto di ingresso, il primo del codice che verrà eseguito una volta avviato il programma. Questo deve essere qualcosa permesso dal linguaggio di scelta. Le funzioni non membri sono consentite in C e C ++ ma non in Java.

Tuttavia le funzioni dei membri statici sono molto simili alle funzioni non membri (puoi semplicemente chiamare una funzione membro statica pubblica di qualsiasi classe senza creare un'istanza di un oggetto proprio come si chiamerebbe una funzione non membro) e sono consentite in Java e così via questa è la scelta su come è definito il punto di ingresso.

Sì, potresti forse utilizzare una funzione membro non statica come punto di ingresso, ma su quale oggetto verrebbe richiamato? Ciò potrebbe essere fatto ad esempio specificando una classe specifica come in possesso di una funzione di punto di ingresso (utilizzando un attributo o un file di configurazione del programma o qualsiasi altra cosa) e il runtime lo istanziava e chiama la funzione membro sull'oggetto. Tuttavia questa è una complicazione inutile: puoi avere tutto ciò con una funzione membro statica usata come punto di ingresso. Una volta che il controllo arriva, basta istanziare ciò che vuoi e chiamarne le funzioni membro.

    
risposta data 28.11.2014 - 11:43
fonte

Leggi altre domande sui tag