Veröffentlicht 22. Juni 200619 j Hallo, gibt es in Java die Möglichkeit, Übergabeparameter vorzubelegen, so dass der Parameter übergeben werden kann aber nicht muss? Also zum Beispiel so etwas in der Artpublic void beispiel(int zahl, boolean okay=false){}In C++ und PHP funktioniert das so, Eclipse bringt mir bei diesem Versuch allerdings immer die Fehlermeldung "Syntax error on tokens, delete these tokens". Ist das Setzen solcher Default-Werte in Java grundsätzlich nicht möglich oder mach ich dabei irgendwas falsch? tine
22. Juni 200619 j gibts da nicht was mit konstruktor usw... du kannst doch verschiene konstruktoren anlegen. Konstruktor 1: Übergabeparamter: int zahl, boolean okay Konstruktor 2: Übergabeparamter: int zahl boolean okay=false kenne mich da ned so aus ;-)
22. Juni 200619 j So wie in C oder PHP funktioniert das nicht. Wenn du optionale Parameter haben möchtest dann sollte für jede Möglichkeit eine eigene Methodensignatur erstellt werden Beispiel public void beispiel(int zahl, boolean okay){ ... }; public void beispiel(int zahl){ ... okay = false; ...}; public void beispiel() {... zahl = 0; okay=false; ... };
22. Juni 200619 j So wie in C oder PHP funktioniert das nicht. Wenn du optionale Parameter haben möchtest dann sollte für jede Möglichkeit eine eigene Methodensignatur erstellt werden Beispiel public void beispiel(int zahl, boolean okay){ ... }; public void beispiel(int zahl){ ... okay = false; ...}; public void beispiel() {... zahl = 0; okay=false; ... }; naja das sagte ich ja auch... oder nicht? ^^
22. Juni 200619 j ^^Naja du sprachst von konstruktoren. Ein Konstruktor ist eine Methode die aufgerufen wird wenn ein Objekt erzeugt wird. Die Threaderstellerin suchte aber nach einer Möglichkeit Methoden mit Standardparametern aufzurufen.
22. Juni 200619 j hab das aber so gemeint, als ich das geschrieben habe: Konstruktor 1: Übergabeparamter: int zahl, boolean okay Konstruktor 2: Übergabeparamter: int zahl boolean okay=false public void beispiel(int zahl, boolean okay){ ... }; public void beispiel(int zahl){ ... okay = false; ...}; aber konstrutkoren sind doch ähnlich aufgebaut...
22. Juni 200619 j Ja, momentan habe ich für jede Möglichkeit eine eigene Methode. Hätte es halt gern zusammengeschmissen. Aber dann muss ich es wohl so lassen. Trotzdem Danke für eure Hilfe tine
22. Juni 200619 j Ja, momentan habe ich für jede Möglichkeit eine eigene Methode. Hätte es halt gern zusammengeschmissen. Aber dann muss ich es wohl so lassen. Trotzdem Danke für eure Hilfe tine Für jede Aufrufmöglichkeit brauchst du schon wie geschrieben eine eigene Signatur. Die Logik kannst du aber bündeln. //Methode mit Logik public void beispiel(int zahl, boolean okay){ //mach was } //überladene Methodensignatur für Defaultwert public void beispiel(int zahl){ this.beispiel(zahl, false); } Gruß Jaraz
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.