2019-11-15 14:52:06 +00:00
parent 0fd99d1041
commit 00d8be9721

@@ -42,7 +42,9 @@
- 0 % 3 == 0
- **Ueberladen**: null (als Schluesselwort kann nicht uebergeben werden, wenn der Compiler dadurch die Methode nicht eindeutig bestimmen kann. Wenn Typ bekannt ist, kein Problem.
- **`throw null`** führt zu `NullPointerException`
- **switch**: `ausdruck` muss Typ `enum`, `byte`, `short`, `int`, `char` oder `String` ergeben
- **switch**:
-`ausdruck` muss Typ `enum`, `byte`, `short`, `int`, `char` oder `String` ergeben
- Auch vom Compiler berechenbare Audrücke in case-Anweisungen nicht erlaubt
- **Erlaubte Identifier-Namen**:
- Müssen mit `_`, `$` oder Buchstabe beginnen
- Danach auch Zahlen erlaubt
@@ -116,9 +118,10 @@
- Downcasting: Wenn Typ Oberklasse deklariert, aber Laufzeit Unterklasse: Zuweisung an Unterklasse per explizitem Cast möglich (ggf. ClassCastException zur Laufzeit)
- Upcasting: Referenzen einer Unterklasse können ohne explizitem Cast einer Oberklasse zugewiesen werden.
- **Scope**: Variablen im Scope dürfen nicht neu definiert werden. Auch z.B. nicht in for-Schleifenvariable.
- **LocalDate, LocalTime, LocalDateTime**: Sind *immutable*!
- **Arrays**:
- Array-Index kann auch mit ``char, short, byte`` angesprochen werden, nicht aber mit ``long``
- Deklaration: `[]` können vor oder nach Variablennamen stehen, bei mehrdimensionalen auch gemischt davor und danach
- Niemals Deklaration und Größe in einem Schritt;
-