Guido Krüger's Web Service

Java 1.1 lernen


Description - Bekannte Fehler - Groß- und Kleinschreibung - Spiegeln der Online-Version

Description

Guido Krüger
Java 1.1 lernen
Anfangen Anwenden Verstehen

Addison-Wesley, 1997

ISBN 3-8273-1299-X

In September 1997, I finished a book on JAVA 1.1 programming that covers all the basics of Java programming in a thorough, easy-to-read fashion. Starting with basic language elements, it includes an introduction into OOP techniques and explains multithreading, exceptions, strings, file I/O, utilities. It then emphasizes on basic and advanced AWT programming, including Applets, simple graphics, animation, dialog programming, delegation based event handling, and much more.

The book comes with a CD-ROM full of source code, examples, JDK 1.1.x development systems, and includes trial version of the major GUI-based development systems.

There was a Free Online Version of "Java 1.1 lernen" available on the Web Server of Addison-Wesley, Germany at http://www.addison-wesley.de/Service/Krueger/index.htm. Creating a book with a freely available online version was an innovative approach which has proven to be very succesful. Actually, "Java 1.1 lernen" was one of the the most successful german Java books and also one of the most popular titles of Addison-Wesley Germany.

In January 1999 I finished the successor of "Java 1.1 lernen" which is called "Go To Java 2". It covers JDK 1.2 changes and contains lots of additional material like JDBC, Networking, Serialization, Reflection, Collections and even Performance Tuning. It also includes a newly designed online version (which I hope is even better than the former one :-). The old "Java 1.1 lernen" online version is no longer officially available (although lots of mirrors might still have it). It is completely replaced by the "Go To Java 2" online version which is available freely on my Go To Java 2 page.


Bekannte Fehler

Nachfolgend finden Sie eine Liste aller bekannten Fehler im Buch. Sollten Sie weitere Fehler finden, senden Sie mir bitte eine kurze E-Mail.
Position Beschreibung
Seite 18, oben Leider fehlen die Inhaltsverzeichniseinträge für die Kapitel 25 und 26. Sie lauten im Überblick:
  • Kapitel 25 - Applets ...537
    • Die Architektur eines Applets ...537
    • Einbinden eines Applets ...542
    • Die Ausgabe von Sound ...547
    • Verweise auf andere Seiten ...549
    • Animation in Applets ...555
    • Zusammenfassung ...562
  • Kapitel 26 - Die Werkzeuge des JDK ...563
    • javac - Der Compiler ...563
    • java - Der Interpreter ...564
    • appletviewer - Der Appletviewer ...565
    • jdb - Der Debugger ...566
    • javadoc - Der Dokumentationsgenerator ...568
    • jar - Das Archivierungswerkzeug ...571
    • Zusammenfassung ...573
Seite 19, 2. Absatz v.u. Es muß heissen
"..., wo dieses Icon steht.", und nicht
"..., wo dieses Icons steht.".
Seite 43, unten Das Kommando zum Übersetzen der Datei Puzzle.java muß natürlich
javac Puzzle.java
heißen (und nicht javac Puzzle.html).
Seite 46, 5. Zeile v.u. Es muß heißen
"...Applet-Parameter bordersize gelesen", und nicht
"...Applet-Parameter bordersize gelesen".
Seite 70, unten Die zu erstellende Datei sollte Hello.java heißen und nicht hello.java, wie im Buch angegeben (Groß-/Kleinschreibung beachten!). Der Fehler ist allerdings nicht schwerwiegend, denn javac übersetzt das Programm anstandslos, solange in der Kommandozeile die großgeschriebene Variante verwendet wird.
Seite 84, oben Bei den Fließkommaliteralen wurde die Bedeutung der Konstanten NaN und POSITIVE_INFINITY bzw. NEGATIVE_INFINITY vertauscht. Der letzte Satz vor Tabelle 4.3 muß demnach lauten: "NaN entsteht beispielsweise bei der Division durch 0, POSITIVE_INFINITY bzw. NEGATIVE_INFINITY sind Zahlen, die größer bzw. kleiner als der darstellbare Bereich sind.".
Seite 91, 3. Absatz Es muß heißen
"...benutzt werden wie primitive Typen...", und nicht
"...benutzt werden wir primitive Typen...".
Seite 102, 5. Zeile Der Operator "Modulozuweisung" ist %= und nicht %.
Seite 102, 3. Zeile v.u. Es muß heißen
"..., falls a falsch ist. ...", und nicht
"..., falls a falsch ist. ..." (Listing-Schrift)
Seite 103, 12. Zeile v.u. Es muß heißen
"...Nicht-String-Operand...", und nicht
"...Nicht-String-Operator...".
Seite 103, 11. Zeile v.u. Es muß heißen
"...anderen Operand verkettet...", und nicht
"...anderen Operator verkettet...".
Seite 114, 18. Zeile v.o. Es muß heißen
"anweisung2.", und nicht
"ausdruck2."
Seite 115, 12. Zeile v.u. Es muß heißen
"Das hier beschriebene Verhalten...", und nicht
"Das hier beschrieben Verhalten...".
Seiten 134, 132 und 137 Bei der Erläuterung der Themen Default-Konstruktoren und Konstruktorenverkettung in den Abschnitten 7.2.6 und 7.3.3 haben sich einige Ungenauigkeiten eingeschlichen.
  1. Der Abschnitt "Default-Konstruktoren" (im Buch auf Seite 131 in der Mitte) sollte wie folgt umgeschrieben werden:

    "Falls eine Klasse überhaupt keinen expliziten Konstruktor besitzt, wird beim Anlegen des Objekts ein parameterloser default-Konstruktor zur Verfügung gestellt. Seine einzige Aufgabe besteht darin, den parameterlosen Konstruktor der Superklasse aufzurufen. Enthält eine Klassendeklaration dagegen ausschließlich parametrisierte Konstruktoren, wird kein default-Konstruktor erzeugt, und die Klassendatei besitzt letzendlich überhaupt keinen parameterlosen Konstruktor."

  2. Der letzte Absatz im nachfolgenden Abschnitt "Verkettung von Konstruktoren" (im Buch auf Seite 132) kann verkürzt werden:

    "Wird ein Konstruktor in einem anderen Konstruktor derselben Klasse explizit aufgerufen, muß dies als erste Anweisung innerhalb der Methode geschehen. Steht der Aufruf nicht an erster Stelle, gibt es einen Compiler-Fehler."

  3. Der dritte Absatz von Abschnitt 7.3.3 (im Buch auf Seite 137 oben) sollte am Ende um folgenden Satz ergänzt werden:

    "Das ist genau dann der Fall, wenn in der Superklassendeklaration lediglich parametrisierte Konstruktoren angegeben wurden und daher ein parameterloser default-Konstruktor nicht automatisch erzeugt wurde."

Seite 134, 8. Zeile und 12. Zeile v.u. Es muß heißen
"System.out.println("Alter = "+kfz1.alter());", und nicht
"System.out.println("Alter = "+kfz1.alter);"
Seite 141, 3. Zeile im Listing Die private Deklaration der Variable muß mit dem Schlüsselwort private erfolgen, nicht mit privat.
Seite 149, 6. Zeile v.o. Es muß heißen
"public interface Sammlerstueck", und nicht
"public Interface Sammlerstueck" (Groß-/Kleinschreibung).
Seite 168, 2. und 3. Absatz v.u. Die Aufzählungszeichen sind überflüssig.
Seite 174, 1. Zeile Es muß heissen:
"Es gibt keinen expliziten...", und nicht
"Es gibt es keinen expliziten..."
Seite 187, 12. Zeile Es muß heissen:
"Bei der Behandlung von Ausnahmen...", und nicht
"Bei der Behandlung von Ausnhamen..."
Seite 189, Listing Die Methode isPrim hält fälschlicherweise auch die 1 für eine Primzahl. Abhilfe kann geschaffen werden, indem die return-Anweisung ersetzt wird durch return n != 1;.
Seite 189, 3. Zeile v.u. Es muß heissen:
"...Aufrufer weitergeben. Tritt der", und nicht
"...Aufrufer weitergeben. Triit der"
Seite 384, erste Zeile Die erste Zeile sollte in Listing-Schrift gesetzt sein.
Seite 452, letzte Zeile Auf einigen UNIX-Implementierungen (SOLARIS, LINUX) scheint es Probleme mit der Methode setResizable der Klasse Dialog zu geben. Der modale Dialog wird nicht angezeigt, wenn setResizable(false) aufgerufen wird. Das Problem kann umgangen werden, indem der Aufruf auskommentiert wird. Dasselbe gilt für das Listing auf Seite 457.
Seite 486, letzter Absatz Der letzte Absatz sollte kein Aufzählungszeichen enthalten.
Seite 490, Mitte Der Absatz neben der Marginalie "Ausgabe" sollte kein Aufzählungszeichen enthalten.
Seite 495, 2. Satz Es muß heißen
"public Dimension getMinimumSize();" und nicht
"public Dimension getMminimumSize();".
Seite 532, Listing ab public void update(... Hier wird noch die Methode size() aufgerufen. Sie ist veraltet und sollte durch getSize() ersetzt werden, damit die "deprecated"-Warnungen verschwinden.

Groß- und Kleinschreibung

Ein häufig gemachter Fehler beim Erstellen von Java-Programmen besteht darin, Groß- und Kleinschreibung zu vermischen. Damit eine Java-Applikation korrekt übersetzt und ausgeführt werden kann, ist folgendes zu beachten:
© 1995-2004 Guido Krüger - Last updated 31 Dec 2003 - Back to top-level page