🌱 Lehrpfad 1: Java Syntax & Typensystem

Java 04: Methoden, Static & Overloading

Modularisiere Code mit Methoden: Parameterübergabe (Pass-by-Value), Methodenüberladung (Overloading) und statische Dienstmethoden.

📂 Dateien dieser Lerneinheit:
📄 Aufgabe.java (Startercode) 🧪 TestAufgabe.java (Tests) 💡 Musterloesung.java (Lösung) 📖 README.md

💡 1. Methoden-Signatur & Pass-by-Value

In Java gibt es ausschließlich Pass-by-Value. Bei Objektreferenzen wird der Zeigerwert kopiert, sodass Änderungen am Objekt sichtbar sind, Neuzuweisungen an die Referenzvariable jedoch nicht:

public class MathUtils {
    // Statische Hilfsmethode (ohne Objektinstanz aufrufbar)
    public static double clamp(double value, double min, double max) {
        if (value < min) return min;
        if (value > max) return max;
        return value;
    }

    // Methodenüberladung (gleicher Name, andere Parameter)
    public static int clamp(int value, int min, int max) {
        return (int) clamp((double) value, min, max);
    }
}
✉️ Didaktische Analogie: Fotokopie vs. Original

Pass-by-Value bedeutet: Java macht eine Fotokopie des Werts. Wenn du auf der Kopie eine Zahl durchstreichst, bleibt das Originalblatt unberührt.

⚡ 2. Quick-Cheat-Sheet

KonzeptSchlüsselwortWirkung
KlassenmethodestaticDirekt über KlassenName.methode() aufrufbar
RückgabelosvoidFührt Aktion aus ohne Rückgabewert
Varargsint... werteNimmt beliebig viele Argumente als Array entgegen
ÜberladungGleicher NameUnterscheidet sich durch Parameteranzahl oder -typen

⚠️ 3. Häufige Stolperfallen (Gotchas & Anti-Patterns)

⚠️ Referenz-Reassignment-Täuschung

Schreibt man in einer Methode obj = new User();, ändert das beim Aufrufer gar nichts! Nur Mutationen wie obj.setName() wirken fort.

⚠️ Static-Zugriff auf Instanzvariablen

Eine static-Methode kann nicht auf this.name zugreifen, da kein Instanzkontext existiert.

🧠 4. Diagnostischer Selbst-Check

Überprüfe dein Verständnis von Sprach-Features, Speicherverwaltung und Enterprise-Architektur, bevor du den Code in der Web-IDE schreibst.

🎯 5. Aufgaben & Checkliste in Aufgabe.java

💻 In Web-IDE öffnen & lösen →