Erste Schritte Methoden anwenden und erkennen

T900

Neues Mitglied
Hallo zusammen.
Meine Frage bezieht sich auf Methoden in Java. Ich weiß das man Methoden an den leeren Klammern erkennt ().
Doch das ist mir viel zu schwammig, gibt es nicht weitere merkmale, an denen ich schnell erkenne, ob es sich um eine Methode handelt?
Und wozu genau dient eigentlich eine Methode? Klar sie sind zum einen da um bestimmte Teilaufgaben zu lösen oder um wiederkehrende Aufageben zu lösen. Ist das soweit korrekt ? Welche Aufgaben haben Methoden noch?



MfG
T900
 
Zuletzt bearbeitet:
Das ist eine etwas philosophische Frage.

In wirklichkeit sind Methoden Gruppierungen von Anweisungen, wenn man es so sehen will.

Man unterscheidet bei solche Sachen Methoden und Funktionen. Eine Funktion KANN Parameter besitzen und gibt einen Wert zurück:

Java:
// Exemplarisch dargestellte Funktion
public int getNumber(int a) {return a;}

Wobei Methoden, wie du schon richtig gesagt hast, Gruppierungen von wiederkehrenden Anweisungen sind. Methoden können genau so Parameter enthalten.

Java:
public void clearList() {
    //Angenommen l ist eine List<T>
    l.clear();
    count = 0;
}

Edit:

Methoden werden auch dazu verwendet, Quellcode zu ornden und strukturieren. (Baut man eine GUI auf, dann verwendet man soetwas wie
Code:
init();fillFrame();
). Man könnte den Code aber natürlich auch in einer langen Wurst heruntertippen.
 
Zuletzt bearbeitet:
Das ist eine etwas philosophische Frage.

[...]

Man unterscheidet bei solche Sachen Methoden und Funktionen. Eine Funktion KANN Parameter besitzen und gibt einen Wert zurück:

[...]

In Java gibt es keine Funktionen, die Sprachspezifikation redet neuerdings zwar von funktionalen Interfaces und Funktionstypen das ist es aber auch schon.
In Java nennen sich die Dinger egal ob mit Argumenten, ohne Argumente, mit Rückgabewerten, ohne Rückgabewerte einfach nur Methoden. Sprachlich ist es dann eben eine Methode mit Rückgabewert, Argumenten etc.
Vielleicht ist es in Turbo Pascal oder C oder anderen Sprachen üblich zu sagen eine Funktion ist etwas mit Rückgabewert, in Java ist das nicht üblich.

Die offizielle Dokumentation zu Java [1], hält zum Thema Methode Folgendes bereit:

"A method declares executable code that can be invoked, passing a fixed number of values as arguments."

Wobei auf den Typen des Rückgabewerts in einem anderen Abschnitt explizit eingegangen wird.

[1] Chapter 8. Classes
 
Du hast recht und ich stimme dir 100% zu, dass es in Java so ist, aber in der Theorie gibt es sehr wohl einen Unterschied con Funktion und Methode (wenn ich Zeit habe reich ich dir den Quellenverweis nach).
 
naja der Rückgabewert wäre dann z.B ein Punkt an dem du Methoden erkennen / und von Konstruktoren unterscheiden könntest

Konstruktoren werden komplett ohne Rückgabewert Deklariert

Java:
public Foo(){...}

public Foo(String string){...}

Methoden hingegen besitzen immer einen Rückgabewert,
egal ob Parameter übergeben werden oder nicht .

Java:
public void doStuff(){...}

public int doStuff(String string){...}

public int[] doStuff(){...}

public boolean doStuff(){...}

public ArrayList<String> doStuff(){...}

selbst methoden die keine Wert zurückliefern besitzen den Rückgabewert void

Hinzu kommen dann noch überladene Methoden, diese besitzen den gleichen Namen , aber unterschiedliche Parameter :

Java:
public void calculate(int a, int b){...}

public void calculate(int...values){...}

public void calculate(double[] valueArray){...}

aber auch diese kannst du daran erkennen das sie mindestens den Rückgabewert void besitzen
 
Zuletzt bearbeitet:

Zurück
Oben