hallo zusammen:
hab in einem java.net blog folgendes gefunden
Was mich hier am meisten verwundert, ist dass die Methode testMethod keinen Rückgabewert liefert, obwohl laut Signatur ein int verlang wird.
die frage nun: kann man das kompilieren und ausführen?
ich nehm mal die Antwort voraus:
ja man kann
das resultat ist zwar eine endlosschleife, aber man kann es trotzdem kompilieren und ausführen ohne einen Fehler.
Eclipse gibt auch hier keine Warnung oder Fehler raus.
Der Grund dafür könnte sein, dass der Compiler die Endlosschleife erkennt und daher auch keine Rückgabe erwartet. (Ändert man die Schleife in while(true) oder while (4 < 5) ab, kommt man zum selben resultat.
Erst wenn man eine ordentliche Schleife draus macht kommt der erwartete Fehler ("This method must return a result of type int")
oder gibt es noch eine andere Erklärung?
PS: das andere Beispiel im Blog-Eintrag ist auch gut.
Quelle:
http://weblogs.java.net/blog/paranoiabla/archive/2007/02/a_few_questions.html
hab in einem java.net blog folgendes gefunden
Code:
public class WeirdoCode {
public static int testMethod() {
for(;;){
}
}
public static void main(String[] args)
{
System.out.println("###");
System.out.println(testMethod());
System.out.println("###");
}
}
Was mich hier am meisten verwundert, ist dass die Methode testMethod keinen Rückgabewert liefert, obwohl laut Signatur ein int verlang wird.
die frage nun: kann man das kompilieren und ausführen?
ich nehm mal die Antwort voraus:
ja man kann
das resultat ist zwar eine endlosschleife, aber man kann es trotzdem kompilieren und ausführen ohne einen Fehler.
Eclipse gibt auch hier keine Warnung oder Fehler raus.
Der Grund dafür könnte sein, dass der Compiler die Endlosschleife erkennt und daher auch keine Rückgabe erwartet. (Ändert man die Schleife in while(true) oder while (4 < 5) ab, kommt man zum selben resultat.
Erst wenn man eine ordentliche Schleife draus macht kommt der erwartete Fehler ("This method must return a result of type int")
oder gibt es noch eine andere Erklärung?
PS: das andere Beispiel im Blog-Eintrag ist auch gut.
Quelle:
http://weblogs.java.net/blog/paranoiabla/archive/2007/02/a_few_questions.html