Gottfried Wolmeringer Java 6 lernen mit Eclipse Galileo Press
Danksagung 15 Vorwort 17 Hinweise zur Benutzung des Buches 18 Learning by Doing 19 TEIL I Grundlagen 1.1 Warumprogrammieren? 23 1.2 Was ist eine Programmiersprache? 25 1.3 Java und andere Programmiersprachen 29 1.3.1 Die Java-Story 29 1.3.2 Kann auch ich lernen, mittels Java zu programmieren?... 36 1.4 Zusammenfassung 38 1.5 Aufgaben zum Kapitel 38 1.6 Webseiten zum Kapitel 39 2.1 Wie funktioniert eine Programmiersprache? 41 2.1.1 Compiler 42 2.1.2 Interpreter 43 2.1.3 VM-Sprachen 45 2.1.4 Imperative und funktionale Sprachen 46 2.2 Wie erlernt man eine Programmiersprache? 49 2.3 Zusammenfassung 51 2.4 Aufgaben zum Kapitel 51 2.5 Webseiten zum Kapitel 52 3.1 Was ist eine IDE? 53 3.1.1 Konzepte einer IDE 54 3.1.2 Die Konzepte von Eclipse 57 3.1.3 Eclipse - ein Framework als IDE 58 3.2 Weitere Eclipse-Sprachen 59 3.2.1 Perl 60 5
3.2.2 Python 60 3.2.3 C 60 3.2.4 C++ 61 3.3 So funktioniert eine IDE und so Eclipse 62 3.4 Zusammenfassung 65 3.5 Aufgaben zum Kapitel 66 3.6 Webseiten zum Kapitel 66 TEIL II Installation 4.1 JDK oderjre? 69 4.2 Hardwarevoraussetzungen 70 4.3 Die Installation 71 4.4 Die Installation der Dokumentation 79 4.4.1 Aufbau der JDK-Dokumentation 79 4.4.2 Test und Einsatz der JDK-Dokumentation 80 4.5 Der Einsatz von Java Web Start 82 4.6 Demos und Beispiele 86 4.7 Programmierung ohne Eclipse 87 4.8 Deinstallation 90 4.9 Zusammenfassung 91 4.10 Aufgaben zum Kapitel 92 4.11 Webseiten zum Kapitel 93 5.1 Versionen und Milestones 95 5.2 Hardwarevoraussetzungen 98 5.3 Die Installation 98 5.3.1 Installation von Filzip 3.06 99 5.3.2 Eclipse entpacken 101 5.3.3 Eclipse zum ersten Mal starten 102 5.4 Das Sprach-Paket installieren 105 5.5 Den Spickzettel-Lehrgang»Die Sprache Java«installieren 107 5.6 Callisto oder die Installation von Plugins 110 5.6.1 Den Visual Editor installieren 112 5.6.2 Jigloo installieren 113 5.6.3 Ein Datenbank-Plugin installieren 114 6
5.7 Übersicht der Plugins 115 5.7.1 Plugins updaten/deinstallieren 116 5.8 Zusammenfassung 119 5.9 Aufgaben zum Kapitel 119 5.10 Webseiten zum Kapitel 120 6.1 Grundkenntnisse Eclipse 121 6.2 Die Bestandteile 122 6.2.1 Bausteine in allen Formen 122 6.2.2 Welt aus Perspektiven 125 6.2.3 Auf der Suche nach dem verlorenen Editor 127 6.2.4 Nutzerfreundlichkeit pur 129 6.3 Die Geburt eines Projekts 132 6.3.1 Ein neues Projekt anlegen 133 6.3.2 Arbeitssets 136 6.3.3 Projekte löschen 138 6.4 Hilfestellung 138 6.5 Der Aufbau von Eclipse 139 6.5.1 Die Perspektiven 140 6.5.2 Die Menüleiste (Menubar) 142 6.5.3 Datei 143 6.5.4 Bearbeiten 144 6.5.5 Quelle 145 6.5.6 Refactoring 147 6.5.7 Navigieren 153 6.5.8 Suchen 154 6.5.9 Projekt 154 6.5.10 Ausführen 157 6.5.11 Restliche Menüs 157 6.6 Die Views 158 6.6.1 Die Navigator-View 158 6.6.2 Die Editoren 161 6.7 Projekte übernehmen 169 6.7.1 JDK-Projekte und einzelne Dateien übernehmen 170 6.7.2 Ganze Projekte von fremden IDEs übernehmen 170 6.7.3 Andere Eclipse-Projekte übernehmen 171 6.7.4 Änderungen an der Paketstruktur bestehender Projekte 172 7
6.8 Zusammenfassung 173 6.9 Aufgaben zum Kapitel 173 6.10 Webseiten zum Kapitel 174 TEIL III OOP - Objektorientierte Programmierung 7.1 Die Personal Edition 177 7.2 Die Installation 177 7.3 Adobe Acrobat Reader installieren 186 7.4 Erste Erfahrungen mit ObjectiF und der Online- Dokumentation 188 7.5 Zusammenfassung 191 7.6 Aufgaben zum Kapitel 191 7.7 Webseiten zum Kapitel 192 8.1 Eine uralte Idee für moderne Software 193 8.1.1 Ein neues, altes Paradigma 195 8.1.2 Das Objekt und seine Klasse 196 8.1.3 Ein Baum voller Autos 198 8.2 Ein Eclipse-Projekt 199 8.2.1 Ein Projekt und seine Pakete 201 8.3 UML-Zeichnen statt Programmieren 204 8.3.1 ObjectiF mit neuem System starten 205 8.3.2 Attribute für unsere Autos 212 8.3.3 Auch Autos erben 217 8.3.4 Aus konkret wird abstrakt 221 8.3.5 Identität der Software in Objekten 222 8.3.6 Klassifizierung 228 8.3.7 Vererbung 229 8.3.8 Polymorphismus 232 8.4 Zum Beispiel 237 8.5 Zusammenfassung 240 8.6 Aufgaben zum Kapitel 241 8.7 Webseiten zum Kapitel 242 8
9.1 Java und OOP 243 9.1.1 Vom Umgang mit Objekten 244 9.1.2 Die API-Dokumentation als Quelle allen Seins 246 9.1.3 Von abstrakten und konkreten Klassen bis zu den Schnittstellen 251 9.2 Zum Innenleben der Objekte 255 9.2.1 Primitive Datentypen 259 9.2.2 Komplexe Datentypen 262 9.2.3 Ein paar Worte zu Arrays, Listen und Stacks 264 9.2.4 Übungen zu den primitiven Datentypen 264 9.2.5 Die Sichtbarkeit in der Praxis 275 9.2.6 Die main-methode 282 9.2.7 Die Steuerung des Programmflusses 288 9.3 Zusammenfassung 298 9.4 Aufgaben zum Kapitel 300 9.5 Webseiten zum Kapitel 301 10.1 Unser Projekt Carlipso 303 10.1.1 Projektdesign ad hoc 304 10.1.2 Die Geschäftsobjekte 306 10.1.3 Innere Klassen 308 10.2 Zusammenfassung 333 10.3 Aufgaben zum Kapitel 334 10.4 Webseiten zum Kapitel 336 11.1 Von Vererbung und Polymorphie 337 11.1.1 Java-Klassen im Besonderen 338 11.1.2 Die Syntax bei Java-Klassen 341 11.2 Vom Umgang mit Objekten 345 11.2.1 Das Zusammenspiel von Klassen, Objekten und Methoden 347 11.3 ArrayList, auch ein komplexer Typ? 354 11.3.1 Namensraum in Java 362 11.4 Im Anfang war das Bild 364 9
11.5 Zusammenfassung 373 11.6 Aufgaben zum Kapitel 374 11.7 Webseiten zum Kapitel 374 TEIL IV Java-Techniken 12.1 Mit AWT lernte Java»fensterin«380 12.1.1 Der Ast, an dem der Frame hängt 383 12.1.2 Swing 394 12.2 Oberflächen zeichnen 396 12.2.1 Viele Werkzeuge ein Ergebnis 396 12.2.2 Visual Editor, der Alleskönner 397 12.2.3 Jigloo, ein Werkzeug für Swing-Oberflächen 406 12.2.4 Zwischen Feld und Label 421 12.2.5 Das Ereignismodell 429 12.2.6 Modifizierungen an Ereignissen 433 12.3 Für Meldungen aller Art 434 12.3.1 Frame im Frame und interne Dialoge 439 12.3.2 Faschingskostüme für Oberflächen 441 12.4 SWT, das Standard Widget Toolkit 444 12.5 Zusammenfassung 448 12.6 Aufgaben zum Kapitel 449 12.7 Webseiten zum Kapitel 450 13.1 Wo Ausnahmen zur Regel werden 453 13.2 Multithreading mit Java 460 13.3 Dämonen, die»dunkle Seite«in Java? 465 13.4 Instanz-Initiatoren 469 13.5 Zusammenfassung 471 13.6 Aufgaben zum Kapitel 472 13.7 Webseiten zum Kapitel 474 14.1 Ordnung ist das halbe Leben 475 14.1.1 Weshalb sind Codekonventionen unverzichtbar? 475 14.1.2 Umsetzung der Codekonventionen 477 10
14.2 Dateiaufbau 477 14.2.1 Dateinamen 478 14.2.2 Der Klassenname 478 14.2.3 Dateiendungen 479 14.3 Innerer Dateiaufbau 480 14.3.1 Die Bestandteile einer Datei 480 14.3.2 Der Dateikommentar 481 14.3.3 Klassen und Interfaces 482 14.4 Einrücken 483 14.5 Die Zeilenlänge 483 14.6 Kommentare 484 14.6.1 Quellcodekommentare 485 14.7 Javadoc-Kommentare 487 14.7.1 Methodenkommentar 488 14.8 Deklarationen 489 14.8.1 Eine Deklaration pro Zeile 490 14.8.2 Position von Deklarationen 491 14.9 Klassen- und Interface-Definitionen 492 14.10 Anweisungen 492 14.10.1 Einfache Anweisungen 492 14.10.2 Blöcke oder gebündelte Anweisungen 493 14.10.3 Die if-und if-else-anweisungen 493 14.10.4 Die for-schleife 494 14.10.5 Die while-schleife 495 14.10.6 Die do-while-schleife 495 14.10.7 Die switch-anweisung 495 14.10.8 Die try-/catch-anweisung 496 14.10.9 Die return-anweisung 496 14.11 Leerräume 496 14.11.1 Leerzeilen 496 14.11.2 Leerzeichen 498 14.12 Namenskonventionen 499 14.12.1 Anwendungen 499 14.12.2 Packages 499 14.12.3 Klassenbibliothek 500 14.13 Programmierpraktiken 502 14.13.1 Zugriff auf Instanz-und Klassenvariablen 502 14.13.2 Zugriff auf Klassenvariablen und-methoden 502 14.13.3 Zuweisungen 502 14.13.4 Instanziierung 503 14.13.5 Rückgabewerte 503 11
14.14 Zusammenfassung 505 14.15 Aufgaben zum Kapitel 505 14.16 Webseiten zum Kapitel 506 TEIL V Datenbanken 15.1 Einstieg in das Thema 509 15.2 Spielereien mit Access 510 15.3 Die Einrichtung von SQL Explorer 517 15.4 Allgemeine Betrachtungen zu Datenbanken 520 15.4.1 Zugriffssysteme und Datenbank-Server 521 15.5 MySQL 523 15.5.1 MySQL installieren 523 15.5.2 Die ersten Experimente mit einem Datenbank-Server 527 15.5.3 Datenbanken erzeugen 530 15.6 Eclipse und MySQL 531 15.7 Zusammenfassung 535 15.8 Aufgaben zum Kapitel 536 15.9 Webseiten zum Kapitel 537 16.1 Java und die Datenbankanbindung 539 16.2 Vom Treiber zur Verbindung 542 16.3 Daten aus der Datenbank lesen 544 16.4 Carlipso goes DB 545 16.5 Daten in die Datenbank schreiben 552 16.5.1 Die Reflection-API 554 16.6 Zusammenfassung 557 16.7 Aufgaben zum Kapitel 558 16.8 Webseiten zum Kapitel 560 17.1 Das Wichtigste zuerst 561 17.2 Ausblickzum Einblick 562 17.3 Die Zukunft der EDV 563 17.4 Java-Techniken 563 17.4.1 EJBs 564 12
17.5 Datenbanken 565 17.6 Eclipse 565 17.7 Softwaredesign und Entwurf 566 17.8 Vorgehensweisen und Vorgehensmodelle 566 17.9 Steuerungsaufgaben während der Softwareentwicklung 567 17.10 Andere Programmiersprachen 567 17.11 Die Testphase 568 17.11.1 Programmierertests mit JUnit 568 17.12 Die Qualitätssicherung 569 17.13 Zusammenfassung 569 17.14 Webseiten zum Kapitel 570 A Tipps 575 A.1 Kommentare und andere Hilfen 575 A.2 Mehr Übersicht schaffen 576 A.2.1 Code minimieren 576 A.2.2 Variablen markieren 576 A.2.3 Views entnehmen 576 A.2.4 Editoren automatisch schließen 576 A.3 Einfachere Handhabung 577 A.3.1 Inkrementelle Suche 577 A.3.2 Zeilen verschieben 577 A.3.3 Zeilen einfügen 577 A.3.4 Groß- und Kleinschreibung 577 A.3.5 Aktuelle Änderungen 578 A.3.6 Code oder Dokument öffnen 578 A.3.7 Methoden separiert anzeigen 578 A.3.8 View minimiert ablegen 578 A.3.9 Aktuelle Methode im Navigator oder Paket-Explorer suchen 578 A.3.10 Andere Perspektive öffnen 578 B Literatur und Webseiten 579 Literaturverzeichnis 579 Webseiten 579 C Glossar 581 Index 589 13
1 Das Java-Projekt in Eclipse 1.1 Der Workspace [07:07 min.] 1.2 Projekte anlegen [07:50 min.] 1.3 Arbeitssets [06:10 min.] 1.4 Dateien anlegen [08:06 min.] H