Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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 Art

public 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

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 ;-)

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;

...

};

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? ^^

^^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.

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...

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

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

An die Möglichkeit hatte ich noch gar nicht gedacht. Danke für den Tipp :)

tine

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.