diff --git a/01-Kapitel-1.md b/01-Kapitel-1.md index 59f27c9..d610fcf 100644 --- a/01-Kapitel-1.md +++ b/01-Kapitel-1.md @@ -2,12 +2,17 @@ - Compile-Fehler, wenn Static-Imports nicht eindeutig sind - `import static`, umgekehrt ompile-Fehler - `import static` bezieht sich immer auf das Objekt selbst. `import static System.out;` kann per `out.println()` genutzt werden. +- Import von nicht sichtbaren Klassen führt zu einem Compilefehler +# Identifier +- Zahlen, Dollarzeichen, Buchstaben, Unterstrich erlaubt. Erstes Zeichen keine Zahl. +# Packages +- Dürfen keine Minuszeichen enthalten # Klassen - Nur eine `public`-Klasse pro Datei, dann Dateiname gleich Klassenname - Datei ohne `public`-Klasse erlaubt - Innere Klassen nicht Teil des OCA-Tests -- Default-access: Nur im selben Paket sichtbar. **Todo:** In Unterpaketen? +- Default-access: Nur im selben Paket sichtbar. Auch nicht in Unterpaketen. - Klassen können nicht gleichzeitig `final` und `abstract` deklariert werden # Strictfp @@ -26,6 +31,9 @@ # Interfaces - Ein Interface ist ein Vertrag +- `abstract`-Deklaration implizit, darf notiert werden - Seit Java 8 konkrete Implementierungen möglich (mit Einschränkungen) - In einem Interface deklarierte Methoden sind implizit `abstract` und `public` (wenn nicht `default` oder `static` angegeben wird). Modifier können dennoch hinzugefügt werden. -- Alle Variablen müssen `public static final` deklariert werden (**Todo:** Oder sind sie es implizit?) \ No newline at end of file +- `final, strictfp, native` deklarierte Methoden sind in Interfaces nicht möglich +- Alle Variablen müssen `public static final` deklariert werden (**Todo:** Oder sind sie es implizit?) +- Interfaces können beliebig viele andere Interfaces `extend`en, aber keine Klassen und auch nicht implementieren \ No newline at end of file