diff --git a/Aufpassen%21.md b/Aufpassen%21.md index 305caf3..453915e 100644 --- a/Aufpassen%21.md +++ b/Aufpassen%21.md @@ -243,4 +243,5 @@ Trowable - **Interface-Default-Methoden**: Die implementierende Klasse darf keine private gleiche definieren - **Generell Überschreiben**: Methode in Unterklasse darf Sichtbarkeit nicht einschränken, auch nicht auf private - **Überladen und Überschreiben**: Bei Fragen, was eingefügt werden dard: Überladen parallel zu Überschreiben möglich! -- **Abstrakte Klassen können Konstruktoren besitzen**: Wie bei gewöhnlichen Klassen, sie können aber nicht instanziiert werden. (Interfaces haben keine Konstruktoren) \ No newline at end of file +- **Abstrakte Klassen können Konstruktoren besitzen**: Wie bei gewöhnlichen Klassen, sie können aber nicht instanziiert werden. (Interfaces haben keine Konstruktoren) +- **Exceptions in Konstruktoren**: Klassen müssen konstruiert werden können. Wenn implizit ein Konstruktor der Oberklasse aufgerufen wird, muss der Konstruktor dieselben Exceptions oder Superklassen davon deklarieren. Da super() immer die erste Anweisung ist, kein try/catch möglich. Aber kein 1:1-Bezug, da per this andere Konstruktoren aufgerufen werden können. Compilefehler im Konstruktor (super-Aufruf), der fehlerhaft ist. \ No newline at end of file