Update page '01 Kapitel 1'

2019-03-24 14:37:24 +00:00
parent 6ceed283f1
commit 034cec1db3

@@ -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?)
- `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