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..
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 );
}
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