Weil Sie nicht nur durch den Methodenaufruf feststellen können, was der Rückgabetyp sein soll. Der Compiler muss in der Lage sein, unter Verwendung nur von Informationen an der Call-Site zu bestimmen, welche Methode aufgerufen werden soll. Rückgabewerte können verworfen werden, sodass Sie im Allgemeinen nicht wissen können, dass es einen Rückgabewert gibt und was sein Typ ist. es wird noch verwirrender, wenn man anfängt, über Typkozessionen (kurz-> int) oder Umwandlungen nachzudenken.
Wenn der Compiler einen Methodenaufruf sieht, weiß er, dass alle Argumente vorhanden sein müssen, um ein gültiger Methodenaufruf zu sein, damit er diese Argumente verwenden kann, um die richtige Aufrufmethode zu finden. Aber Rückgabewerte sind zum Zeitpunkt des Aufrufs nicht bekannt, und selbst der Typ des Rückgabewerts ist möglicherweise nicht erkennbar.
Was zurückgegebenen Werte passiert, wenn sie nicht zugeordnet sind? Werden sie einfach gecodiert? – Pierreten
@Pierreten: Wenn nicht anderswo referenziert (zum Beispiel in der Methode), dann ja. – BalusC