Was meint man in Java mit "Ich übergebe die Parameter der Methode"?

... komplette Frage anzeigen

3 Antworten

Wie XGamer11208 schon schrieb kann man durchaus auch Methoden ohne Parameter nutzen.

Wofür sind Parameter da: Parameter sind vorallem dazu da, um Variablen/Objekte an eine Methode zu übergeben, damit diese in der Methode genutzt werden können.

Das einfachste Beispiel dürfte ein Setter sein. Du willst das private Attribut eines Objektes ändern bzw. setzen. Wie soll die Methode wissen, auf welchen Wert es das Attribut setzen soll, wenn du es nicht übergibst per Parameter. Statisch (also mit einem festen Wert) geht das halt, aber nicht mit variablen Werten, welche ggf. zur Laufzeit geändert werden.

"Wie programmiert man eigentlich selber Methoden, wo man auch beliebig Parameter eingeben kann?"

Indem man eine Methode erstellt, welche einen Parameter entgegen nimmt (siehe Snippet unten).

Bei beliebig wäre halt die Frage, ob du damit meinst, dass man beliebige Typen angeben kann. Beliebig ist nicht möglich, allerdings kannst du Methoden überladen.

Soll heißen, dass du mehrere Methoden mit dem gleichen Namen hast, aber verschiedene Signaturen verwendest (z.B. auch unterschiedliche Parameter).

https://bitbucket.org/snippets/Ettar/4BRrR

In dem Beispiel überlade ich die Methode "test1" 3 mal.

Antwort bewerten Vielen Dank für Deine Bewertung

Methoden können auch keine Übergabeparameter haben.

Aber z.B. die Klasse "out" von "System" hat eine Methode Namens "print", welche als Übergabeparameter einen Text erwartet.

Selbst schreiben kann man diese mit einem geeigneten Methodenkopf (auch Signatur genannt) z.B. so:

public static void Ausgabe(string text)

Zerlegen wir mal:
public - Klassenübergreifend zugänglich
static (können wir erstmal weglassen.. meist brauchst du es)
void - der Rückgabetyp (in diesem Fall nichts, also void)
Ausgabe - Name der Methode (darf nur nochmal auftreten, falls Überladungen eingesetzt werden oder in anderen Klassen)
string - Übergabetyp (Ein Text wird hereingegeben)
text - Übergabewert (Übergebene Werte werden in der Variable text gespeichert, unabhängig von bereits bestehenden Variablen in anderen Methoden)



Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von blackoutX2
28.06.2017, 21:42

also hatte ich im prinzip recht?

0
Kommentar von blackoutX2
28.06.2017, 21:58

achso. aber sonst ist alles richtig?

0

Es gibt auch genügend Methoden, die ohne Parameter auskommen. (Die einen Rückgabewert liefern oder etwas bestimmtes machen.) 

Den Unterschied erkläre ich dir am besten mit diesem einfachen Beispiel:

int add1and2(){
     return 1 + 2;
}

Diese Methode rechnet einfach nur 1+2 und kann so verwendet werden:

int zahl = add1and2();

Wenn man jetzt aber nicht 1+2 sondern zum Beispiel 2+5 rechnen will, kann man entweder die gleiche Methode mit 2 und 5 schreiben oder sie allgemein formulieren, sodass diese mit allen beliebigen Zahlen rechnen kann:

int add(int zahl1, int zahl2){
      return zahl1 + zahl2;
}

Die Variablen zahl1 und zahl2 werden in der Klammer initialisiert und bekommen automatisch den Wert, der beim Aufruf in der Klammer steht:

int zahl = add(2,5);

-->  zahl1 = 2
-->  zahl2 = 5

Falls du das mit dem return und dem int statt void vor dem Methodennamen, noch nicht hattest: https://www.gutefrage.net/frage/java--was-genau-macht-das-return?foundIn=list-answers-by-user#answer-251576697

~Tim

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?