Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
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?
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.
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