lehrerbibliothek.deDatenschutzerklärung
Java 2 ENT-PACKT
Java 2
ENT-PACKT




Patrick Naughton, H. Schildt

mitp-Verlag
EAN: 9783826607363 (ISBN: 3-8266-0736-8)
840 Seiten, paperback, 18 x 24cm, 2001

EUR 44,95
alle Angaben ohne Gewähr

Umschlagtext
Dieses Buch deckt alle Aspekte der Programmiersprache Java ab, die Ihnen Herbert Schildt detailliert erläutert. Jede Menge Tipps und zahlreiche praktische Beispiele machen dieses Werk zu einem unverzichtbaren Begleiter für jeden Java-Programmierer. Java 2 Ent-Packt ist in vier Teile gegliedert: Teil I präsentiert ein eingehendes Tutorial der Sprache Java, angefangen mit den Grundlagen einschließlich Datentypen, Kontrollanweisungen und Klassen. Darüber hinaus werden hier der Mechanismus zur Ausnahmebehandlung, das Multithread-Subsystem sowie die Pakete und Schnittstellen von Java behandelt. Teil II untersucht ausführlich die Java-Standardbibliothek. Teil III befasst sich mit der Java-Entwicklungsumgebung und gibt einen Überblick über Java-Beans und Swing. Teil IV präsentiert eine Reihe hochleistungsfähiger Java-Applets, die als fortgeschrittene Beispiele für die Anwendungsmöglichkeiten von Java dienen. Das letzte Applet namens Scrabblet ist ein vollständiges Mehrbenutzer-Netzwerkspiel. Es zeigt Ihnen, wie man mit einigen der schwierigsten Probleme bei der webbasierten Programmierung umgeht. Herbert Schildt ist weltweit führender Autor von Fachbüchern für Programmierer.
Inhaltsverzeichnis
Vorwort 17


Teil l Die Sprache Java 21

Kapitel l: Die Entstehung von Java 23
Javas Stammbaum 23
Die Entwicklung von Java 26
Warum Java so bedeutend für das Internet ist 27
Javas Magie: der Bytecode 29
Die Java-Schlagwörter 30
Die Revolution geht weiter 32
Java ist kein besseres HTML 33

Kapitel 2: Ein Überblick über Java 35
Objektorientierte Programmierung 35
Ein erstes einfaches Programm 41
Ein zweites kurzes Pogramm 45
Zwei Kontrollanweisungen 46
Codeblocks 49
Lexikalische Themen 50
Die Java-Klassenbibliotheken 52

Kapitel 3: Datentypen, Variablen und Arrays 53
Java ist eine streng typisierte Sprache 53
Die einfachen Typen 54
Integers 54
Gleitkommatypen 56
Characters 57
Boole'sche Typen 59
Eine genauere Untersuchung von Literalen 59
Variablen 62
Typkonvertierung und Casten 65
Automatische Typpromotion in Ausdrücken 67
Arrays 68
Ein paar Worte zu Strings 75
Ein Hinweis für C/C++-Programmierer zu Zeigern 76

Kapitel 4: Operatoren 77
Arithmetische Operatoren 77
Die bitweisen Operatoren 82
Relationale Operatoren 89
Boole'sche logische Operatoren 90
Der Zuweisungsoperator 92
Der ?-Operator 93
Die Rangfolge der Operatoren 93
Die Verwendung von Klammern 94

Kapitel 5: Kontrollanweisungen 95
Die Auswahlanweisungen von Java 95
Iterationsanweisungen 102
Sprunganweisungen 110

Kapitel 6: Eine Einführung in Klassen 117
Grundlagen der Klasse 117
Objekte deklarieren 120
Objektverweisvariablen zuweisen 122
Methoden 123
Konstruktoren 129
Das Schlüsselwort this 131
Garbage Collection 132
Die finalize()-Methode 133
Eine Stack-Klasse 133

Kapitel 7: Methoden und Klassen genauer betrachtet 137
Das Überladen von Methoden 137
Objekte als Parameter benutzen 142
Argumentübergabe 144
Objekte zurückliefern 146
Rekursion 146
Zugriffskontrolle 149
static 152
final 154
Mehr über Arrays 154
Verschachtelte und innere Klassen 156
Die String-Klasse erforschen 158
Befehlszeilenargumente benutzen 160

Kapitel 8: Vererbung 163
Die Grundlagen der Vererbung 163
super 169
Eine Hierarchie mit mehreren Ebenen erzeugen 173
Wann Konstruktoren aufgerufen werden 176
Methoden überschreiben 177
Dynamischer Methoden-Dispatch 179
Abstrakte Klassen benutzen 183
final mit Vererbung benutzen 185
Die Objekt-Klasse 187

Kapitel 9: Pakete und Schnittstellen 189
Pakete 189
Schutz vor Zugriff 192
Pakete importieren 196
Schnittstellen 198

Kapitel 10: Ausnahmebehandlung 209
Die Grundlagen der Ausnahmebehandlung 209
Ausnahmetypen 210
Nicht aufgefangene Ausnahmen 210
try und catch benutzen 211
Mehrere catch-Abschnitte 213
Verschachtelte try-Anweisungen 215
throw 217
throws 218
finally 219
Die eingebauten Ausnahmen von Java 220
Erzeugen eigener Ausnahme-Unterklassen 222
Ausnahmen benutzen 223

Kapitel 11: Multithread-Programmierung 225
Das Java-Thread-Modell 226
Der Haupt-Thread 228
Einen Thread erzeugen 230
Mehrere Threads erzeugen 233
isAlive() und join() 235
Thread-Prioritäten 237
Synchronisierung 239
Interthread-Kommunikation 243
Threads unterbrechen, wieder aufnehmen und stoppen 249
Multithreading anwenden 254

Kapitel 12: I/O, Applets und andere Themen 255
I/O-Grundlagen 255
Konsolen-Input lesen 258
Konsolen-Output schreiben 261
Die PrintWriter-Klasse 262
Dateien lesen und schreiben 263
Die Grundlagen von Applets 266
transient und volatile 268
instanceof 269
strictfp 271
Native Methoden 271


Teil II Die Java-Bibliothek 275

Kapitel 13: Zeichenfolgen 277
Die String-Konstruktoren 278
Zeichenfolgenlänge 279
Besondere String-Operationen 280
Zeichen extrahieren 283
Zeichenfolgen vergleichen 284
Zeichenfolgen suchen 288
Zeichenfolgen ändern 289
Datenumwandlung mit valueOf() 291
Groß- und Kleinschreibung in Zeichenfolgen 292
StringBuffer 293

Kapitel 14: java.lang 299
Einfache Typ-Wrapper 300
Void 314
Process 314
Runtime 314
System 318
Object 321
clone() und die Cloneable-Schnittstelle 322
Class 324
ClassLoader 326
Math 326
StrictMath 329
Compiler 329
Thread, ThreadGroup und Runnable 329
ThreadLocal und InheritableThreadLocal 336
Package 336
RuntimePermission 337
Throwable 337
SecurityManager 337
Die Comparable-Schnittstelle 337
Die Pakete java.lang.ref und java.lang.reflect 338

Kapitel 15: java.util Teil 1: Das Collections Framework 339
Collections - Eine Übersicht 340
Die Collection-Schnittstellen 341
Die Collection-Klassen 346
Zugriff auf eine Collection über einen Iterator 353
Benutzerdefinierte Klassen in Collections speichern 355
Der Umgang mit Maps 357
Komparatoren 363
Die Collection-Algorithmen 366
Arrays 369
Die traditionellen Klassen und Schnittstellen 373
Collections - Zusammenfassung 387

Kapitel 16: java.util Teil 2: Weitere Utility-Klassen 389
StringTokenizer 389
BitSet 391
Date 392
Calendar 394
GregorianCalendar 397
TimeZone 398
SimpleTimeZone 399
Locale 400
Random 401
Observable 403
Timer und TimerTask 406
Das java.util.zip-Paket 408
Dasjava.util.jar-Paket 408

Kapitel 17: Input/Output: java.io 409
Die I/O-Klassen und -Schnittstellen 409
File 410
Die Stream-Klassen 415
Byte-Streams 415
Die Zeichen-Streams 427
Mit I/O-Streams arbeiten 435
Serialisierung 439

Kapitel 18: Netzwerke 445
Netzwerkgrundlagen 445
Java und das Netzwerk 448
InetAddress 449
TCP/IP-Client-Sockets 450
URL 452
URLConnection 454
TCP/IP-Server-Sockets 455
Ein Proxy-Server mit HTTP-Cache 456
Datagramme 473
Zusammenfassung 475

Kapitel 19: Die Applet-Klasse 477
Grundlagen 477
Applet-Architektur 479
Ein Applet-Gerüst 480
Einfache Anzeigernethoden für Applets 483
Applet-Ansichten aktualisieren 485
Das Statusfenster 488
Das HTML-Tag APPLET 488
Parameterübergabe an Applets 490
getDocumentBase() und getCodeBaseQ 493
AppletContext und showDocument() 494
Die AudioClip-Schnittstelle 495
Die AppletStub-Schnittstelle 495
Ausgabe über die Konsole 496

Kapitel 20: Ereignisbehandlung 497
Zwei Mechanismen zur Ereignisbehandlung 497
Das Delegationsmodell 497
Die ComponentEvent-Klasse 502
Ereignisquellen 506
Die EventListener-Schnittstellen 507
Anwendung des Delegationsmodells 510
Adapterklassen 516
Innere Klassen 518

Kapitel 21: AWT-Einführung: Arbeiten mit Penstern, Bildern und Texten 521
AWT-Klassen 521
Fensterklassen 524
Der Umgang mit Frames 525
Ein Frame-Fenster in einem Applet einrichten 526
Ein Programm mit Fenstern 532
Informationen im Fenster anzeigen 534
Mit Grafiken arbeiten 534
Mit Farben arbeiten 540
Den Zeichenmodus einstellen 543
Schriftarten 545
Textausgabe mit FontMetrics 550
Text und Grafik weiter erforschen 557

Kapitel 22: AWT-Steuerelemente, layout-Manager und Menüs 559
Steuerelemente 559
Beschriftungen 560
Schaltflächen 561
Optionsschaltflächen 564
CheckboxGroup 567
Auswahlsteuerelemente 568
Listen 571
Rollbalken 574
Textfelder 577
TextArea-Objekte einsetzen 579
Layout-Manager 581
Menüs und Menüleisten 591
Dialogfelder 596
FileDialog 601
Ereignisse über eine Erweiterung von AWT-Komponenten behandeln 602
Steuerelemente, Menüs und Layout-Manager erforschen 608

Kapitel 23: Bilder 609
Dateiformate 610
Bilder erzeugen, laden und anzeigen 610
ImageObserver 612
Doppelte Pufferung 616
MediaTracker 618
ImageProducer 621
ImageConsumer 623
ImageFilter 626
Zellenanimation 638
Weitere Image-Klassen von Java 2 641

Kapitel 24: Weitere Pakete 643
Die Hauptpakete der Java-API 643
java.lang.reflect 645
Remote Method Invocation (RMI) 648
Textformatierung 651


Teil III Software-Entwicklung mit Java 655

Kapitel 25: Java-Beans 657
Was ist ein Java-Bean? 658
Vorteile von Java-Beans 658
Werkzeuge für die Anwendungsentwicklung 658
Das Bean Developer Kit (BDK) 659
JAR-Dateien 662
Introspektion 664
Ein einfaches Bean entwickeln 666
Gebundene Eigenschaften 670
Die Beanlnfo-Schnittstelle 671
Zwingende Eigenschaften 672
Persistenz 673
Customizers 673
Das Java Beans-API 673

Kapitel 26: Eine Swing-Tour 677
JApplet 678
Symbole und Beschriftungen 678
Textfelder 680
Schaltflächen 681
Kombinationsfelder 687
Registerkarten 688
Scroll Panes 690
Strukturbäume 692
Tabellen 695
Swing erforschen 697

Kapitel 27: Migration von C++ zu Java 699
Die Unterschiede zwischen C++ und Java 699
Zeiger beseitigen 702
C++- und Java-Verweisparameter 706
Abstrakte C++-Klassen in Java-Schnittstellen umwandeln 708
Standardargumente umwandeln 712
Umwandlung von C++-Hierarchien mit mehrfacher Vererbung 713
Destruktoren im Vergleich zur finalize()-Methode 715


Teil IV Java anwenden 719

Kapitel 28: Das DynamicBillboard-Applet 721
Das APPLET-Tag 721
Der Quellcode 722
Dynamischer Code 745

Kapitel 29: ImageMenu: Ein bildgesteuertes Webmenü 747
Das Ausgangsbild 748
Das APPLET-Tag 748
Die Methoden 749
Zusammenfassung 753

Kapitel 30: Das Lavatron-Applet: Eine Anzeigetafel 755
Wie Lavatron funktioniert 756
Der Code 757
Hot Lava 762

Kapitel 31: Scrabblet: Ein Wortspiel für mehrere Spieler 763
Netzwerksicherheit 763
Das Spiel 764
Der Quellcode 769
Der Server-Code 802
Scrabblet erweitern 808

Kapitel A: Dokumentationskommentare verwenden 809
Die javadoc-Tags 809
Das allgemeine Format eines Dokumentationskommentars 812
Die Ausgabe von javadoc 813
Ein Beispiel für Dokumentationskommentare 813


Stichwortverzeichnis 815