8/19/2019 Java Kompakt Mindmaps
1/47
Kapitel 01 Java
- 1 -
8/19/2019 Java Kompakt Mindmaps
2/47
F unk t i on sw ei s e
v on J av a
2
A nw en d er
P r o gr ammi er e
r
P r o gr ammi er e
r
p
a ck a g e k a pi t el 0 1 ;
p
u b l i c cl a s s T e s t {
p u b l i c s t a t i c v oi d m ai n ( S t ri n g [ ] ar g s ) {
S y s t em . o u t . pri n t l n ( " H al l o" ) ;
}
}
S c h r ei b t Q u el l c o d e
J av a- C om pi l er
J av aV i r t u al M a c h i n e
( J V M )
S p ei c h er t un t er
S t ar t e t
H al
l o
S t ar t e t
E r z e u g t . c l a s s D a
t ei
E r z e u g t d i eA u s g
a b e
W i r d
k o m p
i l i e r t v
o n
W i r d
a u s g
e f ü h r t v
o
n
T e s t
. cl a s s
T e s t
. j a v a
8/19/2019 Java Kompakt Mindmaps
3/47
Compiler
- 3 -
Java Compiler
Test.class
Test.java
Fehlermeldung mitnützlicher Information
T est . j av a i st sy nt ak t i sc h k o
r r ek t
T e s t . j a v a is t s y n ta k t is c h f a l s c h
8/19/2019 Java Kompakt Mindmaps
4/47
J V M
4
T e s t . cl a s s
K e i n L a u f z e i t f e
h l e r
L a u f z e i t f e h l e r
J av aV i r t u al M a c h i n e
( J V M )
D a s P r o gr am
mwi r d
n or m al b e en d e t
F ü h r t d a s
P r o gr amm a u s
L ö s t ei n
e
A u s n ah m e
a u s
8/19/2019 Java Kompakt Mindmaps
5/47
Mi n d m a
p
5
K a pi t el 1
J av aw ur d e1 9 9 5 v on S unMi c r o s y s t em s en t wi c k el t
J av ai s t ei n e o b j ek t or i en t i er t eP r o gr ammi er s pr a c h
e
M eh r er eV ar i an t en
F unk t i on s w ei s ev on J
av a
S t r uk t ur ei n er K l a s s e
J av a S t an d ar d E d i t i on
S E
J av aE n t er pr i s eE d i t i o
nE E
J av aMi c r oE d i t i onME
D e s k t o p-A nw e
n d un g en
W e b anw en d u
n g en
A nw en d un g enf ü r
M o b i l t el ef on e
un d k l ei n e G er ä t e
V i r t u el l eM a s c h
i n e
f ü r J av a ( J V M )
J av a C om pi l er
P r ü f t s y n t ak t i s c h eK
or r ek t h ei t
S t el l t L a uf z ei t f e
h l er f e s t
E r z e u g t B y t e c o d e-D a t ei
K l a s s enn am e
I n s t anz v ar i a b l enz u
m S p ei c h er nv onD a t en
K on s t r uk t or enz um
E r z e u g env on O b j ek t en
M e t h o d enz umM an
i p ul i er en d er D a t en
F ü h r t B y t e c o d e
-D a t ei en a u s
8/19/2019 Java Kompakt Mindmaps
6/47
Kapitel 02 Ein Schnelleinstieg in Java
- 6 -
8/19/2019 Java Kompakt Mindmaps
7/47
Mindmap
- 7 -
Kapitel 2
Erstes Java Programm verstehen
Typische Fehler
Objekt
Variable
Liste (ArrayList)
Eigene Klassen definieren
Konstruktor
Bedingungen und Schleifen
Daten von derKonsole einlesen
Vererbung
main-Methode undSystem.out.println
Fehlender Strichpunkt
Umlaute und Sonderzeichen im Quelltext
Öffnende Klammern nicht geschlossen
Code außerhalb der Klasse
Kapselt Daten und Methoden, die darauf operieren
Wird als Instanz einer Klasse bezeichnet
Platzhalter: Speichert Daten eines bestimmten Typs
Speichert eine Folge von Objektendes gleichen Typs
public class MeineKlasse{…}
Zum Erzeugen von Objekten
Ändern den Kontrollfluss
des Programms
if-then-else Anweisung
Scanner s = new Scanner(System.in);
String name = s.nextLine();
double preis = s.nextDouble();
Klasse A erbtvon Klasse B
A verfügt über alle Variablenund Methoden von B
Methode Mechanismus zum Verarbeiten der Daten
for-, while-Schleifen
Fehlendes Anführungszeichen
8/19/2019 Java Kompakt Mindmaps
8/47
Kapitel 03 Klassen und Objekten
- 8 -
8/19/2019 Java Kompakt Mindmaps
9/47
Syntax von Methoden
- 9 -
Syntax
einer
Methoden-
deklaration
Modifikatoren(optional)
Rückgabetyp(obligatorisch)
Methodenname
(obligatorisch)
Parameterliste(obligatorisch)
Methodenrumpf
Zugriffsrechte/Sichtbarkeit
Statische Methoden
void
Primitiver Typ oder Klassentyp
Aussagekräftiger Name
Kann leer sein
KannmehrereParameterenthalten
{
Anweisung 1; ...
Anweisung n ;}
Unveränderbare Methoden
static
final
In runde Klammern eingeschlossen
Folge von Anweisungen
In geschweifte Klammern eingeschlossen
Oft Verb (+ Substantiv)
Runde Klammerndürfen nicht fehlen
Durch Kommas getrennt
()
(Param 1,..., Param n )
Obligatorisch für konkrete Methoden,optional für abstrakte Methoden
Abstrakte Methoden abstract
8/19/2019 Java Kompakt Mindmaps
10/47
R ü c k g a b ew er t v onM e t h o d en
1 0
M e t h o d e
L i ef er t ni c h t s z ur ü c k
L i ef er t ei n enW er t
v omT y pX z ur ü c k
R ü c k g a b e t y p
i s t v oi
d
R ü c k g a b e t y p
i s t X
S e t t er -M e t h o d e
M e t h o d e , d i e d en
O b j ek t z u s t an d a u s d r u
c k t
M e t h o d e , d i e d en
O b j ek t z u s t an d ä n d er t
G e t t er -M e t h o d e
V al i d i er un g s -M e t h o d e
M e t h o d e , d i e ei n en
W er t b er e c h n e t
J Uni t T e s t ( v gl .1 1 .1 0 )
8/19/2019 Java Kompakt Mindmaps
11/47
E i g en s c h af t env on O b j ek t en
1 1
J e d e s O b j ek t h a t
I d en t i t ä t
Z u s t an d
V er h al t en
E i n d e u t i g e S p ei c h e
r a d r e s s e
A k t u el l eW er t e s ei n
er I n s t anz v ar i a b l en
M e t h o d en d e s O b
j ek t s
8/19/2019 Java Kompakt Mindmaps
12/47
Konstruktor
- 12 -
1 public class Student {
2 private String name;
3 private String matrikelnummer;
4 private int semester;5
6 // Konstruktor I
7 public Student(String name, String matrikelnummer, int semester) {
8 this.name = name;
9 this.matrikelnummer = matrikelnummer;
10 this.semester = semester;
11 }
12
13 // Konstruktor II
14 public Student(String name, String matrikelnummer) {
15 this(name, matrikelnummer, 1);
16 }
17
18 // Konstruktor III
17 public Student(String name) {
18 this(name, null, 0);
19 }
2021 // Methode zum Drucken eines Studenten
22 public void printStudent(){
23 System.out.println(“Student”);
26 }
27
28 public static void main(String[] args) {
29 Student obj1 = new Student("Sepp”);
30 Student obj2 = new Student("Anne", "67342");
31 Student obj3 = new Student("Sara", "76345",5);
32 Student obj4 = new Student("Alex", "12345",1);
33
34 obj1.printStudent();
35 obj2.printStudent();
36 obj3.printStudent();
37 obj4.printStudent();
38 }39 }
obj1: Student
this.name = “Seep”this.matrikelnummer = null;
this.semester = 0
Konstruktor III
obj2: Student
this.name = “Anne”
this.matrikelnummer = “67342”
this.semester = 0
Konstruktor II
obj3: Student
this.name = “Sara”
this.matrikelnummer = “76345”
this.semester = 5
Konstruktor I
obj4: Student
this.name = “Alex”
this.matrikelnummer =“12345”
this.semester = semester = 1
Konstruktor I
8/19/2019 Java Kompakt Mindmaps
13/47
Mi n d m a pK on s t r uk t or
1 3
K on s t r uk t
or
D ek l ar a t i on
M o d i fi k a t or enK l a s s enn am e ( P ar am e t er l i s t e ) {
A nw ei s un g en
} p u b l i
c
S t u d en
t
( S t
ri n
g n
a m e )
{
t h i
s .n
a m e = n
a
m e ;
}
A uf r uf
K l a s s enn am e o b j = n
e w K l a s s enn am e ( W er t e ) ;
S
t u d en
t
s = n
e w
S t u d en
t ( “
S a r a”
) ;
8/19/2019 Java Kompakt Mindmaps
14/47
Mindmap Zugri! srecht
- 14 -
Modifikator
fürZugriffsrecht
private Sichtbarkeit: eigene Klasse
Default(kein Modifikator)
Sichtbarkeit: Klasse + Paket
protectedSichtbarkeit:Klasse + Paket + Unterklassen
public Überall sichtbar
8/19/2019 Java Kompakt Mindmaps
15/47
Mindmap
- 15 -
Kapitel 3
Typ
Methode
Objekt
Konstruktor
Regeln zum Klassendesign
Modifikator für Zugriffsrecht
Primitiver Typ
Referenztyp
Variable
Speichert Daten
Deklaration
Modifikator Datentyp Variablenname ;
Zuweisung
Variablenname = Wert ;
Operiert auf Daten und modifiziert Objektzustände
Rückgabetyp: X
Ist Instanz einer Klasse
Rückgabetyp: void Methode liefert nichts zurück
Methode liefert einen Wertvom Typ X zurück
Modifikatoren Typ Methodenname (Parameterliste) { Anweisungen }
Charakteristika
Identität
Zustand
Verhalten
private int alter;
alter = 25;
Klasse
Legt Struktur von Objekten fest
Bestimmt das Verhalten von Objekten
Wird zum Erzeugen von Objekten verwendet
8/19/2019 Java Kompakt Mindmaps
16/47
Kapitel 04 Mehr zu Klassen und Objekten
- 16 -
8/19/2019 Java Kompakt Mindmaps
17/47
Mindmap Software-Design
- 17 -
Software-Design
Klasse identifizieren
Lebewesen (Person, Tier)
Organisation (Firma, Uni)
Konzept (Name, Speisekarteneintrag)
Klasse definieren public Klassenname { ... }
ObjekteigenschaftendurchInstanzvariablenabbilden
String-Variablen für Namen, Zeichenketten
boolean-Variablen für Wahrheitswerte
int- und double-Variablen für Zahlen
Konstruktorendefinieren
Default KonstruktorKlassenname () { Anweisungen }
Konstruktor(en)mit Parametern
Klassenname (Parameter ) { Anweisungen }
Verhalten durchMethoden abbilden
Schreibzugriff aufInstanzvariablen
Setter-Methoden
Lesezugriff aufInstanzvariablen
Getter-Methoden
Business-Methoden und Programmlogik
Gegenstand (Speisekarte, Fahrzeug)
8/19/2019 Java Kompakt Mindmaps
18/47
Mindmap Sofwareentwurf groß
- 18 -
Software fürPrüfungsamt
entwerfen
Methodendefinieren
Eigenschaftenfestlegen
Klassen identifizieren und benennen
Klasse: Student
Konstrukturendefinieren
Setter-Methoden
Business-Methoden
public void
setName (String name) {
this.name = name;
}
public booleanwechsleStudienfach (...){
...
}
Klasse: Pruefungsamt
Student
Semesteranzahl
Name
Matrikelnummer
PrüfungsamtStudenten
Defaultpublic Pruefungsamt () {
...
}
Mit Parameternpublic Student (...) {
...
}
Getter-Methodenpublic String getName () {
return name;
}
private Name name;
private String matrikelnummer;
private int semester;
private ArrayList
studenten;
8/19/2019 Java Kompakt Mindmaps
19/47
Mi n d m a p S of t w ar e e
n t w ur f k l ei n
1 9
S of t w ar ef ü r
P r ü f un g s am t
en t w er f en
M e t h o d en
d efi ni er en
E i g en s c h af t en
f e s t l e g en
K l a s s eni d en t i fi z i er en
un d b en enn en
K l a s s e: S t u d en t
K on s t r uk t ur en
d efi ni er en
S
e t t er
B
u s i n e s s -
M
e t h o d en
v oi d s e t N a m e ( S t ri n g n a m e ) {
t h i s .n a m e = n a m e ;
}
S t u d en t f i
n d e S t u d en t ( . . . ) {
. . .
}
K l a s s e: P r u ef un g s a m t
S t u d en t
S em e s t er anz ah l
N am e
M a t r i k el n u
mm er
P r ü f un g s am t
S t u d en t en
D ef a ul t
P r u ef un g s a m t ( ) {
. . .
}
Mi t P ar am e t er n
S t u
d en t ( . . . ) {
.
. .
}
G
e t t er
S t ri n g g e t N a m
e ( ) {
r e t u rn n a m e
;
}
N a m e n a m e ;
8/19/2019 Java Kompakt Mindmaps
20/47
Mi n d m a
p
2 0
K a pi t el 4
S t a t i s c h e
V ar i a b l en
S t a t i s c h e
M e t h o d en
R ek ur s i v e
M e t h o d en
S of t w ar e-D e s i gn
E x i s t i er en un a b h ä n gi gv on d enI n s t anz en d er K l a s s e
B ei s pi el f ü r V er w en d un g
Z ä h l env onI n s t anz en
K ö nn en oh n eI n s t anz d er K
l a s s e a u s g ef ü h r t w er d en
T y pi s c h er E i n s a t z
L e s e-/ S c h r ei b z u gr i f f a uf
s t a t i s c h eV ar i a b l en
Hi l f s m e t h o d en
Di r ek t
I n d i r ek t
E i n eM e t h o d er uf t s i c h s el b er a uf
M e t h o d e a
r uf t M e t h o d e b a uf
un d b r uf t
a
a uf .
s
t a t i
c T y pM e t h o d enn am
e ( P ar am e t er l i s t e ) {
A nw ei s un g en
}
M a t h em a t i s c h eF unk t i on en
M o d i fi k a t or en s t a t i c T y pV ar i a b l enn am e ;
8/19/2019 Java Kompakt Mindmaps
21/47
Kapitel 05 Primitive Typen
- 21 -
8/19/2019 Java Kompakt Mindmaps
22/47
Mindmap
- 22 -
Kapitel 5
PrimitiveDatentypen
Typumwandlung
Arithmetische Operationen
Vergleichsoperationen
Bitweise Operationen
Auswertung von Operationen
Casting
Boxing und Unboxing
+, -, *, /, %
&, |, ^, ~
, >>>
Priorität
Beeinflussung durch Klammern
Zahlen
Gleitkommazahlen
float
double
Ganze Zahlen
byte
short
int
long
Zeichen
Unicode
char
Wahrheitswerte boolean
++, --Postfix
Präfix
Für Zahlen =
Logische Operationen
Für alle Werte ==, !=
Für Boole’sche Werte
Assoziativität
Strikt
Nicht Strikt &&, ||
&, |, !
8/19/2019 Java Kompakt Mindmaps
23/47
Kapitel 06 Referenztypen
- 23 -
8/19/2019 Java Kompakt Mindmaps
24/47
Mindmap Eindimensionale Arrays
- 24 -
Eindimensionales
Array
Iteration
For-each Schleife
for-Schleife
Folge von Elementen gleichen Typs
Deklaration
Typ [] name ;
int[] a;
Deklaration undInitialisierung
Typ [] name = {Wert 0, …, Wert n-1};
int[] a = {1, 3, 7};
Erzeugung
new Typ[Länge]
a = new int[3];
Zuweisung an Element
name [Index ] = Wert ;
a[0] = 5;
a[1] = 34;
for (int i=0; i
8/19/2019 Java Kompakt Mindmaps
25/47
Mi n d m a pM eh r d i m en
si on al eAr r a y s
2 5
M eh r -
d i m en si on
al e s
Ar r a y
A r r a y v onA r
r a y s
D ek l ar a t i on
T y p [ ] [ ] n am e ;
i n
t [ ] [ ]
a ;
D ek l ar a t i on
un d
I ni t i al i s i er un g
T y p [ ] [ ] =
{ { W
er t 0 , 0 ,
. . . , W er t 0 ,m-1 } ,
. . .
{ W
er t k , 0 ,
. . . , W er t k ,n-1 } } ;
i n
t [ ] [ ]
a =
{ {
1 } , { 1 ,2
} , { 1 ,2
, 3 } }
E r z e u g un g
n e w
T y p [ L ä n
g e 1 ] [
L ä n
g e2 ]
a = n
e w i n
t [ 6 ] [ 3
] ;
Z uw ei s un g a
nE l em en t
n am e [ i n d ex 1 ] [ i n d ex 2
] = W er t ;
a [ 2
] [ 1 ]
=
1 5 ;
I t er a t i on:
g e s c h a c h t el t e
S c h l ei f en
f o r ( i n
t [ ] i
s
:
a )
{
f o r ( i n
t
j
: i
s )
{
. . .
j
. . .
}
}
8/19/2019 Java Kompakt Mindmaps
26/47
Mindmap groß
- 26 -
Kapitel 6
Array
Enum
String
Eindimensional
Mehrdimensional
Deklaration
Erzeugung
Zuweisung an Element
Typ [] name ;
new Typ [Länge ]
name [Index ] = Wert ;
Deklaration
Erzeugung
Iteration
Typ [][] name ;
new Typ [Länge 1][Länge 2 ]
Zuweisung an Element
name [Index 1][ index 2 ]= Wert ;
Iteration:geschachtelte Schleifen
for(int i=0; i
8/19/2019 Java Kompakt Mindmaps
27/47
Mi n d m a
p
2 7
K a pi t el 6
A r r a y
E n um
S t r i n g
E i n d i m en s i on al
M eh r
d i m en s i on al
D ek l ar a t i on
en
u m E n um
n am e {
K on s t an
t e1 ,
. . .
K on s t an
t en
}
V or d
efi ni er t e J av ak l a s s ef ü r Z ei c h enk e t t en
A uf z
ä h l un g s t y p
p u b l i
c
en
u m R i
ch
t un
g
{
N O R
D ,
S U E
D ,
O S T ,
W E
S T
}
Wi c h
t i g e O p er a t i on en
+ e
q u al
s
F a s s
t m eh r er eK on s t an t enz u s amm en
s
u b s t ri n
g
8/19/2019 Java Kompakt Mindmaps
28/47
Kapitel 07 Kontrollfluss
- 28 -
8/19/2019 Java Kompakt Mindmaps
29/47
8/19/2019 Java Kompakt Mindmaps
30/47
Mindmap Bedingungen
- 30 -
Bedingte
Anweisung
if/
then/
else
Einfach
if (Bedingung ) Block 1else
Block 2
Bedingung == true:Block 1 wird ausgeführt
Bedingung == false:Block 2 wird ausgeführt
Geschachtelt
if (Bedingung 1) Block 1else if (Bedingung 2 ) Block 2 ...
else if (Bedingung n ) Block n else
Block n+1
Es wird nur der erste Blockausgeführt, dessen Bedingungtrue ergibt
Wenn alle Bedingungen falseergeben, wird Block n+1ausgeführt
switch/
case
switch (Variable ) {case m:
Anweisungen m ; break;
case n:
Anweisungen n ; break;
...
default:
Anweisungen def ;}
Variable hat Typ byte, short, int, char oder String
Wert vonVariable
m Anweisungen m
werden ausgeführt
n Anweisungen n
werden ausgeführt
...
Die entsprechendenAnweisungen werdenausgeführt
AndererWert
Anweisungen def werdenausgeführt
8/19/2019 Java Kompakt Mindmaps
31/47
Mi n d m a p S c h
l ei f en
3 1
S ch l ei f en
wh i l e
f o r
f o r ( I ni t ; B e d i n g un g ; U p d a t e )
B l o c k ;
f or - e a c h
f o r ( T
y pE l em en t : C ol l e c t i on )
B l o c k ;
d o / wh i l e
d o
B l o
c k
wh i l e
( B e d i n g un g ) ;
wh i l e ( B e d i n g un g )
B l o c k ;
B e d i n g un
gwi r d v or d er A u s f ü h r un gv onB
l o c k ü b er pr ü f t
B l o c k wi r d
a u s g ef ü h r t , s ol an g eB e d i n g un
gw ah r i s t
I ni t wi r d z u er
s t a u s g ef ü h r t
B e d i n g un gw
i r d g e t e s t e t , b ev or B l o c k a u s g e
f ü h r t wi r d
W ennB e d i n
g un gw ah r i s t ,w er d enB l o c k un d U p d a t e a u s g ef ü h r t ;
B e d i n g un gwi r d wi e d er g e t e s t e t
Z ur I t er a
t i on ü b er A r r a y s un d C ol l e c t i on s
E l em en t d ur c h l ä uf t d i eE l em en t ev on C ol l e c t i on
B l o c k
wi r d a u s g ef ü h r t , d annwi r d B e d
i n g un g g e t e s t e t
B l o c k
wi r d a u s g ef ü h r t , s ol an g eB e d i n
g un gw ah r i s t
8/19/2019 Java Kompakt Mindmaps
32/47
Mi n d m a
p
3 2
K a pi t el 7
B l o c k { . . . }
S c h l ei f e
F a s s t m eh r er eA nw ei s un g
enz u s amm en
wh i l e
d o- wh i l e
f o r
f or - e
a c h
S t e u er anw ei s un g
b r e ak
c on t i n u e
K ann
n ur i n S c h l ei f en
v er w e
n d e t w er d en
K annn u
r I n S c h l ei f en un d
s wi t ch / c a s e-A nw ei s un g en
v er w en d
e t w er d en
{ A nw ei s un g1 ; . . . ; A nw ei s un gn }
B r i c h t d i e S c h l ei f e/
A nw ei s u
n g a b
S t ar t e
t d enn ä c h s t en
D ur c h
l a uf d er S c h l ei f e
B e d i n g t eA nw ei s un g
i f / t h en / el s e
s wi t ch / c a s e
8/19/2019 Java Kompakt Mindmaps
33/47
Kapitel 08 Vererbung
- 33 -
8/19/2019 Java Kompakt Mindmaps
34/47
Mi n d m a p O
b j e c t
3 4
Di eKl a s s e
O b j e c t
M e t h o d en
v on
O b j e c t
e q u al
s
“ S em a
n t i s c h er ” V er gl ei c h
I m pl em en t i er un gf ü r ei g en eK l a s s
en
h a sh
C o d e
i n
t
-W er t f ü r O b j ek t
Wi r d
e q u al
s ü b er s c h r i e b en , s o
m u s s
h a sh
C o d e ü b er s c h r i e b enw er d
en.
I s t x
.
e q u al
s ( y ) w ah r , s om ü s s enx
un d
y d en gl ei c h enH a s h -W er t
h a b en
t o S t ri n
g
W an d el t O b j ek t ei n S t r i n g s um
Wi r d v on
S y s t e m . o u t . p ri n
t l n
v er w en d e t
O b er k l a s s e al l er K l a s s en
8/19/2019 Java Kompakt Mindmaps
35/47
Mindmap
- 35 -
Kapitel 8
Klasse A
erbt von B
A übernimmt alle Instanzvariablen und Methoden von B
Syntax
Schlüsselwortsuper
DynamischesBinden
Die Klasse Object
class A extends B { ... }
In MethodenundKonstruktoren
Welche Methode aufgerufen wird, wird zurLaufzeit bestimmt
Auswahl derMethode
Methodenname
Anzahl und statische Typender Argumente
PolymorphieVariablen können Instanzen von Subklassen ihres
statischen Typs speichern
In KonstruktorenAufruf eines Konstruktorsder Oberklasse
Aufruf von Methoden derOberklasse
Zugriff auf Instanzvariablender Oberklasse
A kann weitere Instanzvariablen und Methoden enthalten
A kann Methoden von B überschreiben
Bezeichnungen
A: Unterklasse, Subklasse,Kindklasse
B: Superklasse, Oberklasse,Elternklasse
Dynamischer Typ von this
8/19/2019 Java Kompakt Mindmaps
36/47
Kapitel 09 Generische Typen und Interface
- 36 -
8/19/2019 Java Kompakt Mindmaps
37/47
Mindmap groß
- 37 -
Kapitel 9
GenerischeKlasse
Interface
GeschachtelteKlasse
Regeln
Anwendung
Wie abstrakte Klasse
Eine konkrete Klasse, die ein Interface implementiert
muss alle Methoden des Interface implementieren
AbstrakteKlasse
Regeln
Ist eine Methode abstrakt so muss die Klasse
abstrakt sein.
Hat Zugriff auf private Elemente der sie umschließenden Klasse
class Klassenname { ... }
public class Paar {
T1 erstesElement;
...
}
Eine Klasse, von der keine direkten Instanzen erzeugt werden können.
abstract Klassenname { ... }
Darf nur Konstanten und abstrakte Methoden enthalten
AnwendungSuperklasse fürkonkrete Klassen
Abstraktion
Wiederverwendung
Polymorphismus
Eine abstrakte Klasse darf Konstruktoren und sowohlkonkrete als auch abstrakte Methoden haben
Konkrete Subklassen einer abstrakten Klassemüssen alle abstrakten Methoden implementieren
Schnittstelle in Client/Server-Anwendungen
Mehrfachvererbung: eine Klasse kann mehrereInterfaces implementieren
interface interfacename { ... }
Abstrakte Klassen dürfen abstrakte Methoden vonInterfaces erben, ohne sie zu implementieren
Wird in einer anderen Klasse definiert
Anonyme
Klasse
Wird innerhalb eines Code-Blocks deklariert
Deklaration und Erzeugen einer Instanz im gleichen Ausdruck
Comparator c = new Comparator() { @Override public int compare(Person p1, Person p2) {
...
}
};
8/19/2019 Java Kompakt Mindmaps
38/47
Mi n d m a p G en er i s
c h eK l a s s e
3 8
G en er i s ch
e
Kl a s s e
p u b l i
c
cl
a s s P
a a r
{
T 1
e r s t e sE l
e
m en
t ;
T 2
z w ei
t e sE l
e m en
t ;
. . .
} cl
a s s K l a s s enn am e
{
. . .
} K l a s s e , d i e d ur c h T y p p ar am e t er s p ez i al i s i er
t w er d enk ann
P a a r
p 1 = n
e w P
a a r
( ) ;
S ei t J av a7 a u c h : P
a a r
p2 = n
e w P
a a r
( ) ;
8/19/2019 Java Kompakt Mindmaps
39/47
Mi n d m a pA b s t r ak t eK l a s s e
3 9
A b s t r ak t e
Kl a s s e
R e g el n
E i n e a b s t r ak t eK l a s s e d ar f K o
n s t r uk t or en un d s ow oh l
k onk r e t e al s a u c h a b s t r ak t eM
e t h o d en b e s i t z en
K onk r e t e S u b k l a s s en ei n er a b s t r ak t enK l a s s em ü s s en al l e
a b s t r ak t enM e t h o d eni m pl em
en t i er en
E i n eK l a s s e ,v on d
er k ei n e d i r ek t enI n s t anz en
er z e u g t w er d enk ö nn en
a b s t r a c t K l a s s e
nn am e {
. . .
}
A nw en d un g
S u p er k l a s s ef ü r
k onk r e t eK l a s s en
A b s t r ak t i on
Wi e d er v er w en d un g
P ol y m or ph i e
I s
t ei n eM e t h o d e a b s t r ak t , s o
m u s s d i eK l a s s e a b s t r ak t s e
i n
8/19/2019 Java Kompakt Mindmaps
40/47
Mi n d m a pI n t
er f a c e
4 0
I n t er f a c e
R e g el n
A b s t r ak t eK l a s s en d ü r f en a b s t r ak t eM e t h o d env on
I n t er f a c e s er b en , oh n e s i ez ui m pl em en t i er en
E i n
ek onk r e t eK l a s s e , d i e ei nI
n t er f a c ei m pl em en t i er t ,
m u
s s al l eM e t h o d en d e s I n t er f a c ei m pl em en t i er en
D ar f n ur K on s t an t en
un d a b s t r ak t eM e t h o d en en t h al t en
i n
t e rf
a c e I n t er f a c en am e {
. . .
}
A nw en d un g
Wi e a b s t r ak t eK l a s s e
S c h ni t t s t el l ei n C l i en t / S er v er -A nw en d un g en
M eh r f a c h v er er b un g: E i n e
K l a s s ek annm eh r er e
I n t er f a c e s i m pl em en t i er en
8/19/2019 Java Kompakt Mindmaps
41/47
Mi n d m a p G e s c h a c h
t el t eK l a s s e
4 1
G e s ch a ch t el t e
Kl a s s e
H a t Z u gr i f f a uf pr i v a t eE l em en t e d er s i e um s c h l i e ß en d enK l a s s e
Wi r d i n ei n er
an d er enK l a s s e d efi ni er t
A n on y m e
K l a s s e
Wi r d i nn er h al b ei n e s
C o d e-B l o c k s d ek l ar i er t
D ek l ar a t i on un d E r z e
u g en ei n er I n s t anz i m
gl ei c h enA u s d r u c k
C o m p a r a t o r
c =
n e w
C o m p a r a t o r
( )
{
@ O v e r ri
d e
p u b l i
c i n
t
c o m p
a r e ( A
a 1 ,
A
a2
)
{
. . .
}
} ;
8/19/2019 Java Kompakt Mindmaps
42/47
Mindmap
- 42 -
Kapitel 9
Generische Klasse
Interface
Geschachtelte Klasse
Abstrakte Klasse
Anonyme Klasse
8/19/2019 Java Kompakt Mindmaps
43/47
Kapitel 10 Das Java Collections Framework
- 43 -
8/19/2019 Java Kompakt Mindmaps
44/47
Mindmap
- 44 -
Kapitel 10
Wichtige Interfaces
Iterator
Collection
Map
Iterable
Map
Iterator
RandomAccess
Collection
Zum Durchlaufen einer Collection
next()
hasNext()
Liefert das aktuelle Element desIterators; setzt das nächste Elementals neues aktuelles Element
Liefert true, solange der Iteratornicht am Ende der Collection ist
Eine Folge von Elementen vom Typ E
Aggregattyp
Implementiert Collection
Geordnet, ungeordnet
Wichtige
Methoden
isEmpty, size
contains, containsAll
iterator
WichtigeImplementierungen
LinkedList
ArrayList
HashSet
TreeSet
Abbildung von K nach V (Wörterbuch)
Wichtige
Implementierungen
TreeMap
HashMap
LinkedHashMap
ArrayDeque
WeakHashMap
8/19/2019 Java Kompakt Mindmaps
45/47
Kapitel 11 Ausnahmebehandlung
- 45 -
8/19/2019 Java Kompakt Mindmaps
46/47
Mindmap Exceptions
- 46 -
Exceptions
Java Exception-Hierarchie
UncheckedExceptions
CheckedExceptions
Auslösen vonExceptions
Behandeln von Exceptions
BenutzerdefinierteException-Klassen
Throwable
Error
Exception
Erben von Error oder RuntimeException
Beispiele
ClassCastException
NullPointerException
IndexOutOfBoundsException
Können oft vermieden werden
Erben nicht von Error oder RuntimeException
Exception ex = new Exception(“Fehler!”);
throw ex;
throw new Exception(“Fehler!”);
try { ... }
catch (ExceptionTyp 1 ex) { ... }...
catch (ExceptionTyp n ex) { ... }finally { ... }
Erbt indirekt von Throwable
ZweiKonstruktoren
Default
Mit String-Parameter
Müssen in Signatur von Methoden angegeben werden
throw Exception-Instanz ;
8/19/2019 Java Kompakt Mindmaps
47/47
Mi n d m a
p
4 7
K a pi t el 1 1
F eh l er ar t en
A u s n ah m e b eh an d
l un g
A s s er t i on s
J Uni t T e s t
B en u t z er f eh l er
a s s e r t Z u s i c h er un g ;
T e s t k l a s s e d efi ni er en
T e s t -M e t h o d en d ur c h d i e
@
T e s t -A nn o t a t i onm ar k i er en
E i n eI n s t anz d er z u t e s t en
d enK l a s s e er z e u g en un d
I s t / S ol l -V er gl ei c h mi t J Uni t -M e t h o d en d ur c h f ü h r en
G er ä t ef eh l er
S of t w ar ef eh l er
Ü b er pr ü f en ei n eZ u s i c h er
un gv omT y p b o ol
e an
I s t d i eZ u s i c h er un gf al s c h
,wi r d ei n eE x c e p t i on g ew or f en
A n g a b e d er F eh l er m el d un g
a s s e r t Z u s i c h er un g :
F eh l er m el d un g ;
M an g el n d eR e s s o ur c en
Top Related