0

Hallo zusammen,

Wann muss ich in einer Methode in Java die Parameter übergeben und wann nicht?

Wann gibt es einen Rückgabewert und wann nicht?

Vielen Dank,

viele Grüsse Sayuri

Diese Frage melden
gefragt

Student, Punkte: 66

 
Kommentar schreiben
2 Antworten
1

Formale Ergänzung: Alles was du wissen willst, kannst du aus der Methodensignatur (erste Zeile, ohne die Klammer) ablesen:

int add(int a, int b){
   return a + b;
}

Das "int" ganz am Anfang ist der Rückgabetyp. Davor findest du i.d.R. noch sowas wie private, public usw (Zugriffsmodifizierer). War nicht Teil der Frage, aber der Vollständigkeit halber. Dahinter (add) ist der Methodenname, den kannst du frei wählen (achte auf Konventionen in den jeweiligen Sprachen). In den Klammern stehen dann die Parameter, die du beim Aufruf mit übergeben musst. Der Datentyp muss dabei passen (bei stark typisierten Sprachen wie zB Java). Den Namen wählst du auch hier wieder frei. In den Klammern ist dann der Methodenkörper. Gibst du hier z.B. nicht den richtigen Typ zurück, der qua Signatur erwartet wird, meckert spätestens der Interpreter (oder vorher deine IDE). Da a und b beides int sind, wird bei einer Operation der beiden automatisch (implizit) ein integer erzeugt.

Aufruf, implizite Zuweisung:

var result = add(40, 2);

result ist vom Typ int (weil das der definierte Rückgabetyp ist). Geht natürlich auch explizit:

int result = add(21, 21)
Diese Antwort melden
geantwortet

 

Kommentar schreiben

0

Hallo, ob du einer Methode Parameter übergeben kannst oder musst hängt von ihrer Implementierung ab. Schreibst du zum Beispiel eine Methode printSign() {} dann kannst du diese nicht mit Parametern aufrufen, da du die Methode so nicht implementiert hast. Wenn du z.B. einen String (also eine Zeichenkette, z.B. "Hallo") übergeben wollen würdest, müsste die Implementierung bzw. die Signatur der Methode (das ist der Name und die Datentypen möglicher Parameter) beispielsweise so aussehen:

printSign(String printThisWord) {}

Dann müsstest du die Methode so aufrufen:

printSign("Hallo");

Wenn du eine Methode sowohl parametrisiert als auch parameterlos aufrufen können möchtest, musst du sie überladen. Eine Ausnahme sind in der Regel Java-eigene Methoden, u.a. System.out.println, welche du so:

System.out.println();

oder so:

System.out.println("irgend ein Text");

aufrufen könntest. Zu Überladung schaue dir am besten selber ein Video an, das ist nicht so schwierig.

Zum zweiten Teil deiner Frage: Einen Rückgabewert gibt es immer dann wenn die Methode so geschrieben wurde. Als Bespiel: public static int giveBack(), public static char whatsTheChar() usw. Das Schlüsselwort "void" gibt vor, dass die Methode keinen Rückgabewert hat, wie z.B. deine main Methode: public static 'void' main(String[]args). Ich hoffe ich konnte helfen!

Diese Antwort melden
geantwortet

Punkte: 10

 

Kommentar schreiben