Sto cercando di capire il vantaggio di un linguaggio di programmazione che viene tipizzato staticamente, e attraverso questo, mi chiedo perché dobbiamo includere il tipo nella dichiarazione? Serve a qualcosa piuttosto che a rendere esplicito il tipo? Se questo è il caso, non vedo il punto. Capisco che la tipizzazione statica consenta il controllo dei tipi in fase di compilazione, ma se omettiamo la dichiarazione del tipo esplicito, non è possibile ancora Java inferire il tipo durante la compilazione?Perché la dichiarazione di tipo è importante in un linguaggio tipizzato in modo statico?
Per esempio, diciamo che abbiamo in Java:
myClass test = new myClass();
non è la dichiarazione di tipo inutile qui? Se non sbaglio, si tratta di un collegamento statico e Java dovrebbe sapere che test
è di tipo myClass
senza dichiarazione esplicita di tipo anche in fase di compilazione.
Risposta a possibili duplicati: questa non è una domanda riguardante il tipo statico rispetto a quello dinamico, ma piuttosto l'inferenza di tipo nelle lingue tipizzate staticamente, come spiegato nella risposta accettata.
e se si ha 'classe B estende A' e' A a = nuova B() '? Come dovrebbe il compilatore inferire il tipo di 'a'? – gefei
@femtoRgon Questa domanda riguarda l'inferenza di tipo nelle lingue tipizzate staticamente, riguardo alle lingue digitate dinamicamente. – yshavit
Siamo spiacenti, * non sulle lingue digitate dinamicamente. :) – yshavit