@@ -23,4 +23,16 @@
|
||||
- **Short-Circuit geht vor**: Bei short-circuit werden Seiteneffekte nicht nach Operator-Vorrang, sondern nach short circuit-Regeln von links nach rechts angewandt.
|
||||
- **Referenz abstrakte Klasse kann null zugewiesen werden**: `abstract class A {}` -> `A a = null;` ist erlaubt.
|
||||
- **Final-Klassen im JDK**: Primitiven-Wrapper, `System`, `String`, `StringBuilder`, `LocalDate` sind `final`. `Number` nicht.
|
||||
- **Polymorphie nicht bei Feldern**: Felder werden auf dem deklarierten, nicht dem tatsächlichen Typ aufgerufen. Anders als bei Methoden. Dabei auch auf Compilefehler achten. Felder werden aber vererbt, sind also auch sichtbar (wenn Sichtbarkeit passend)
|
||||
- **Polymorphie nicht bei Feldern**: Felder werden auf dem deklarierten, nicht dem tatsächlichen Typ aufgerufen. Anders als bei Methoden. Dabei auch auf Compilefehler achten. Felder werden aber vererbt, sind also auch sichtbar (wenn Sichtbarkeit passend)
|
||||
- **Exceptions**:
|
||||
- `RuntimeException` ist eine `Exception`, wird also auch von `catch (Exception e)` gefangen
|
||||
- `RuntimeException`s müssen nicht gefangen oder deklariert werden.
|
||||
- Alle anderen Exceptions müssen deklariert *und* gefangen (oder wiederum deklariert) werden.
|
||||
- *Todo*: Müssen deklarierte Checked Exceptions geworfen werden? -> Nein
|
||||
- `IOException` ist eine checked Exception
|
||||
- Überschriebene Methoden müssen Exceptions oder **Subklassen** deklarieren. (Dann bei super-Aufrufen die ursprüngliche Exception aber auch behandeln)
|
||||
- **Konstruktoren und Vererbung**:
|
||||
- `super` erster Aufruf, auch nicht in try-Block einbettbar
|
||||
- Dadurch können Exceptions der Konstruktoren der Superklassen nicht gefangen und selbst deklariert werden
|
||||
- Konstruktor der Unterklasse kann dieselbe Exception oder eine **Superklasse** deklarieren (anders als beim Überschreiben, wo es Subklassen sind.
|
||||
- Konstruktoren werden nicht vererbt, damit nicht überschrieben!
|
||||
Reference in New Issue
Block a user