Methoden

Beispiel:

System.out.println("Text");

println()  ist eine Methode vom out-Objekt. Ein Programmstück schickt eine Nachricht an das out-Objekt, die println()-Methode auszuführen..

Methodenkopf

public
Sichtbarkeit Jedes Objekt darf diese Methode nutzen
private
Sichtbarkeit Nur das Objekt selbst darf diese Methode nutzen
protected Sichtbarkeit Nur abgeleitete Klassen und Klassen im gleichen Verzeichnis (Paket) können diese Funktion nutzen.
static Zugriff
Wenn eine Methode als static vereinbart wurde, kann auf sie zugegriffen werden, ohne dass eine Instanz der Klasse überhaupt existieren muss. (Die Funktion lässt sich mit dem Klassennamen nutzen; also keine Instanz eines Objekts nötig ist. Auch Klassenmethoden genannt)
final

In einer Vererbung ist es der Unterklasse nicht erlaubt, diese Funktion zu überschreiben.
throw Ausnahme
Welche Fehler kann die Funktion verursachen und worum muss sich der Programmierer kümmern?
abstact

Methoden, die zwar deklariert sind, aber nicht in der aktuellen Klasse implementiert wurden. Die muss daher in der Subklasse der aktuellen Klasse überschrieben und implementiert werden.  Beispiel: abtract void toggleStatus();

Parameter/Rückgabewerte einer Methode


Ohne Rückgabewert
Mit Rückgabewert
ohne Parameter System.out.println() System.currentTimeMillis()
mit Parameter System.out.println(4) Math.max(12, 33)

Eclipse: Cursor auf Methode und F3 springt zur Definition der Methode.

Wertübergabe: copy by value (Lediglich der Wert wird übergeben; nicht die Adresse)

Der in der Methode definierte Parameter wird als lokale Variable betrachtet, die zum Zeitpunkt des Aufrufs mit dem Argument initialisiert ist. Das Ende des Blocks bedeutet dann auch das Ende für die Parametervariable.

Rückgabwerte bei Methoden
static double max( double a, double b, double c )
{
return Math.max( Math.max( a, b), c );
}

Methoden überladen

Werden  in einer Klasse zwei Methoden mit identischem Namen deklariert, sprich man von überladen. Der Compiler unterscheidet die verschiedenen Varianten anhand der Anzahl und Typisierung der Parameter. Auch zwei Methoden, die sich nur durch den Typ ihres Rückgabewertes unterscheiden, gelten als überladen.

public class overload {
//1
static void ueberladene_methode (int a) {
System.out.println("Eine Zahl eingegeben: " + a);
}
//2
static void ueberladene_methode (int a, int b) {
System.out.println("Zwei Zahlen eingegeben: " + a + ", " + b);
}

public static void main (String [] args) {
ueberladene_methode(3);
ueberladene_methode(2, 5);
}
}
Ausgabe
Eine Zahl eingegeben: 3
Zwei Zahlen eingegeben: 2, 5