Ich versuche den Nutzen einer Programmiersprache zu verstehen, die statisch getippt wird, und damit frage ich mich, warum wir eine Deklaration eintippen müssen? Dient es irgendeinem Zweck, anstatt den Typ explizit zu machen? Wenn dies der Fall ist, sehe ich den Punkt nicht. Ich verstehe, dass die statische Typisierung eine Typüberprüfung zur Kompilierungszeit ermöglicht, aber wenn wir die explizite Typdeklaration weglassen, kann Java während der Kompilierungszeit noch keinen Typ ableiten?Warum ist die Typdeklaration in einer statisch typisierten Sprache wichtig?
Zum Beispiel, sagen wir, wir haben in Java:
myClass test = new myClass();
Ist nicht die Typdeklaration hier überflüssig? Wenn ich mich nicht irre, ist dies eine statische Bindung, und Java sollte wissen, test
ist vom Typ myClass
ohne explizite Deklaration des Typs, selbst zur Kompilierzeit.
Antwort auf mögliche Duplikate: Dies ist keine Frage in Bezug auf statische vs. dynamische Typ, sondern eher auf Typ Rückschluss in statisch typisierten Sprachen, wie in der angenommenen Antwort erklärt.
Was ist, wenn Sie 'Klasse B erweitert A' und' Aa = neu B() 'haben? Wie soll der Compiler auf die Art von "a" schließen? – gefei
@femtoRgon Bei dieser Frage geht es um Typinferenz in statisch typisierten Sprachen, um dynamisch typisierte Sprachen. – yshavit
Sorry, * nicht über dynamisch typisierte Sprachen. :) – yshavit