Objektorientierte Programmierung in Java 1. Auflage Objektorientierte Programmierung in Java schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 8266 7414 3
Inhalt Vorwort 13 Einleitung 15 1 Java 19 1.1 Die Geschichte von Java 20 1.2 Das Konzept 22 Klassisch Compiler und Interpreter 23 Die verschiedenen Java-Technologien 28 1.3 So ist Java 33 Objektorientiert 33 Portabel und plattformunabhängig 35 Multi-threaded 37 Sicher und stabil 38 Verteilt 39 1.4 Ihre Entwicklungsumgebung 40 Java Roadmap 41 Ein Wort zu integrierten Entwicklungsumgebungen 42 Download 42 Installation unter Windows 2000/XP 43 Installation unter LINUX 49 Das erste Programm Hallo Welt! 51 1.5 Zusammenfassung, Fragen und Übungen 54 Inhalt 5
2 Der objektorientierte Ansatz 57 2.1 Prozedurale Programmierung 58 Daten 59 Funktionen 61 2.2 Objektorientierte Programmierung 62 Die Welt besteht aus Objekten 64 Objekte erzeugen, sammeln und entsorgen 66 Natürlich programmieren 67 Das Rad nicht immer neu erfinden 68 Vollständige Transparenz 70 2.3 Objekte und Klassen 70 Zustand eines Objekts 71 Verhalten eines Objekts 72 Objektidentität 72 Klassifizierung von Objekten 73 Instantiierung von Klassen 75 Konstruktoren 77 Destruktoren und Finalizer 78 2.4 Geheimnisprinzip 79 2.5 Botschaften 81 2.6 Vererbung 81 Polymorphie 84 2.7 Zusammenfassung, Fragen und Übungen 86 3 Grundlegende Strukturen 89 3.1 Formalitäten 90 3.2 Direkte Ein- und Ausgabe 96 Standard-Streams 96 3.3 Variablen und Konstanten 100 Namenskonventionen 102 Initialisierung 103 6 Inhalt
Konstanten 104 3.4 Reservierte Wörter 104 Methodennamen 105 3.5 Operatoren 106 Vergleiche 107 Zuweisungen 108 Arithmetik 109 Boolsche Operatoren 111 3.6 Bedingte Anweisungen 114 if 115 switch 117 3.7 Schleifen 120 while 120 do 121 for 121 Sprunganweisungen 122 3.8 Zusammenfassung, Fragen und Übungen 124 4 Datentypen 127 4.1 Elementare Datentypen 127 Die Integer-Typen 129 Die Fließkommatypen 131 Der Datentyp boolean 133 Der Datentyp char und die Unicodes 134 4.2 Strings 136 Strings erzeugen 137 Verkettete Strings 138 Methoden der Klasse String 139 Methoden der Klasse StringBuffer 141 4.3 Enumerations 144 4.4 Von Typ zu Typ 145 Ganz- und Fließkommazahlen 147 Ganzzahlen unter sich 149 Inhalt 7
Fließkommazahlen unter sich 149 Strings 151 4.5 Arrays 154 Eindimensionale Arrays 154 Zugriff auf Arrays 156 Mehrdimensionale Arrays 160 4.6 Zusammenfassung, Fragen und Übungen 163 5 Objekte einer Fahrzeugverwaltung 165 5.1 Pakete und Klassen 166 Paketnamen 166 Zuordnung von Klassen zu Paketen 169 Zurück zur Fahrzeugverwaltung 173 5.2 Die Klassen der Fahrzeuge 173 Eine abstrakte Oberklasse 174 Eine Klasse für Autos 179 5.3 Das erste Auto 181 Mit Methode 184 Die Auto-Attribute 189 Den Auto-Konstruktor überschreiben 194 Den Auto-Konstruktor überladen 197 5.4 Zusammenfassung, Fragen und Übungen 200 6 Die Fahrzeugverwaltung 203 6.1 Das Grundgerüst 204 Eine Schleife für das Hauptprogramm 204 Das Menü 205 Benutzereingaben auswerten 209 6.2 Neue Autos erfassen 210 Die Autos speichern 210 Eine Methode für neue Autos 214 8 Inhalt
Eine Autoliste anzeigen 221 6.3 Weitere Funktionen 228 Die Autoliste alphabetisch sortieren 229 6.4 Autos verleihen 239 6.5 Autos löschen 245 6.6 Zusammenfassung, Fragen und Übungen 251 7 Ausnahmen- und Fehlerbehandlung 253 7.1 Das Konzept 254 Lieber vorbeugen statt nachsorgen? 256 try catch finally 258 Exceptions und Errors 260 Alles Objekte 260 Der Weg einer Exception 262 Erzwungene Ausnahme- und Fehlerbehandlung 264 7.2 Der Umgang mit Exceptions 267 Der try-block 267 Ein oder mehrere catch-blöcke 268 Zu guter Letzt finally 280 7.3 Exceptions explizit auslösen 282 7.4 Zusammenfassung, Fragen und Übungen 285 8 Datenströme und Dateien 287 8.1 Eine bildliche Vorstellung 287 8.2 Was sind Streams? 290 Streams sind Objekte 290 Die drei Standard-Streams 292 8.3 Textdateien 298 Textdateien lesen 300 Textdateien schreiben 303 8.4 Datendateien 306 Datendateien schreiben 308 Inhalt 9
Datendateien lesen 310 8.5 Objekte und Streams 312 Objektserialisierung 313 Objekte speichern 316 Objekte laden 318 8.6 Dateien und Verzeichnisse 319 8.7 Dateien komprimieren 323 gzip 324 gunzip 327 8.8 Zusammenfassung, Fragen und Übungen 329 9 Grafische Benutzeroberflächen 331 9.1 AWT und Swing 331 9.2»Hallo Welt!«mit GUI 333 Hallo GUI 333 Event-Handling 337 9.3 Layout-Management 340 Das FlowLayout 341 Das GridLayout 344 Das BorderLayout 345 9.4 Dialogelemente 347 Buttons, Textfelder und actionlistener 348 Kombinationsfelder 352 9.5 Standarddialoge 354 Die Klasse JOptionPane 355 Info-Dialoge 356 9.6 Zusammenfassung, Fragen und Übungen 360 10 Inhalt
Lösungen 363 Glossar 375 Anhang die Tools des JSDK 385 Der Compiler javac 385 Beschreibung 385 Kommandozeilenoptionen 387 Der Interpreter java 388 Beschreibung 388 Kommandozeilenoptionen 389 Automatische Dokumentation javadoc 391 Beschreibung 392 Kommandozeilenoptionen 392 Der Disassembler javap 393 Beschreibung 393 Kommandozeilenoptionen 393 Index 395 Inhalt 11