Static Java Methode
Wir haben gelernt; wir brauchen ein Java Objekt damit wir mit OOP in Java arbeiten können.
Nun mit eine statische Methode ist es möglich eine Java Methode zu benutzen ohne ein Java Objekt zu initialisieren.
Bsp
public class Auto {
// Eine normale Methode (nicht static)
public void fahren() {
System.out.println("Das Auto fährt.");
}
// Eine statische Methode
public static void hupen() {
System.out.println("Das Auto hupt.");
}
}
Auto meinAuto = new Auto(); // Wir erstellen ein Auto
meinAuto.fahren(); // Das Auto fährt
// Ohne Objekt
Auto.hupen(); // Das Auto hupt
Auch innerhalb der deklarierten Klasse können die Methoden nur miteinander kommunizieren, wenn sie
static
sind.Andernfalls können sie nur über ein Objekt kommunizieren.
Das heißt, die Java Methode public static void hupen()
hier kann die andere Java Methode public void fahren()
nicht einfach rufen.
Nur wenn man ein Objekt hat
Failure
public void fahren() {
System.out.println("Das Auto fährt.");
}
public static void hupen() {
System.out.println("Das Auto hupt.");
fahren(); ❌
}
Success
public class Auto{
public static void fahren() {
System.out.println("Das Auto fährt.");
}
public static void hupen() {
System.out.println("Das Auto hupt.");
fahren(); ✅
}
}
ODER
Success
public class Auto{
public void fahren() { // <-- NOTE: no static
System.out.println("Das Auto fährt.");
}
public static void hupen() {
System.out.println("Das Auto hupt.");
Auto myCar = new Auto();
myCar.fahren(); ✅
}
}