diff --git a/01-Kapitel-1.md b/01-Kapitel-1.md index 62bb7de..2e6dafb 100644 --- a/01-Kapitel-1.md +++ b/01-Kapitel-1.md @@ -59,4 +59,15 @@ - Lokale Variablen könnnen keine Access-Modifier haben. Compile-Fehler. Nur `final` möglich. # this -- `this` bezieht sich immer auf das aktuell ausgeführte *Objekt*. Ist implizit, kann aber anegeben werden. \ No newline at end of file +- `this` bezieht sich immer auf das aktuell ausgeführte *Objekt*. Ist implizit, kann aber anegeben werden. + +# final +- `final`-Methoden können nicht überschrieben werden. (Fallstricke bei final und Access-Modifiern. Compile-Fehler oder einfach neu definiert!) +- `String` ist `final` +- Klassen mit `final`-Methoden können überschrieben werden. +- `final`-Parameter können nicht neu zugewiesen werden (sind aber nicht immutable) + +# abstract +- Abstracte Klassen dürfen konkrete Methoden besitzen +- Erbende Klassen müssen alle abstrakten Methoden der Oberklasse implementieren oder selbst abstrakt sein. +- **Todo:** Sind `abstract`-Methoden immer `public`. Wenn nicht, kann package access lästig sein, weil eine Klasse ggf. nicht implementieren kann! \ No newline at end of file