Titel | Inhalt | Suchen | Index | API | Go To Java 2, Zweite Auflage, Handbuch der Java-Programmierung |
<< | < | > | >> | Kapitel 3 - Wie geht es weiter? |
Die Dokumentation zum JDK befindet sich auf der beigefügten CD-ROM. Sie liegt im Verzeichnis \install\jdk13 und kann wie in Abschnitt 2.1 beschrieben installiert werden. Zusätzlich befinden sich diverse weiterführende Informationen, Dokumentationen und Spezifikationen zu verschiedenen Aspekten der Java-Programmierung im Verzeichnis \java der CD-ROM. Es empfiehlt sich, die Datei \readme.txt zu lesen, um einen Überblick über den Inhalt der CD-ROM zu bekommen.
Wird die JDK-Dokumentation in das voreingestellte Installationsverzeichnis extrahiert, kann sie durch Aufruf der Datei c:\jdk1.3\docs\index.html mit einem HTML-Browser gelesen werden. Diese Einstiegsseite enthält Verweise auf alle anderen Teile der Dokumentation. Ein Großteil von ihnen wird zusammen mit dem JDK ausgeliefert, es gibt aber auch Online-Ressourcen, die auf dem JavaSoft-Server liegen. Die folgenden Hauptthemen sind als Verweise am oberen Rand der Startseite angeordnet und können direkt angesprungen werden:
Name | Beschreibung |
General Info | Allgemeine Infos zur Installation des JDK, Lizenzbestimmungen, Versionen, Fehlerhinweise |
API & Language | Verweis auf die API-Dokumentation des JDK |
Guide To Features | Überblick über alle großen Pakete des JDK, mit Hinweisen zur Architektur, Erläuterungen und teilweise Spezifikationen |
Tool Docs | Dokumentation der Hilfsprogramme des JDK |
J2RE & Plug-In | Verweis auf die Online-Dokumentation zum JRE und zum Java-PlugIn (siehe Abschnitt 40.4) |
Demos/Tutorials | Aufruf der beigefügten Demo-Applets sowie Verweis auf eine Vielzahl von Online-Ressourcen zu Java |
Tabelle 3.1: Inhalt der JDK-Dokumentation
Die bei der täglichen Arbeit wichtigste Dokumentation ist die API-Dokumentation des JDK. Sie kann über den Link »API & Language« oder durch direkten Aufruf der Datei c:\jdk1.3\docs\api\index.html gestartet werden. Als API bezeichnet man das Application Programming Interface, also die Programmierschnittstelle einer Klasse, eines Pakets oder einer ganzen Bibliothek. Die API-Dokumentation des JDK gibt detaillierte Auskunft zu allen öffentlichen Paketen, Klassen, Methoden und Variablen. Sie wurde von den JDK-Entwicklern mit javadoc generiert und sieht seit dem JDK 1.2 etwa so aus:
Abbildung 3.1: Die API-Dokumentation des JDK
Die drei Fenster haben folgende Bedeutung:
Die API-Dokumentation ersetzt zwar nicht die konzeptionelle Beschreibung der Java-Themen (das ist Aufgabe dieses Buchs), als Nachschlagewerk zu Details der Klassenbibliothek ist sie jedoch unentbehrlich. Der Umgang mit ihr sollte jedem Java-Entwickler in Fleisch und Blut übergehen (sofern nicht seine integrierte Entwicklungsumgebung eine komfortablere Alternative bietet).
Durch die alphabetische Anordnung der Pakete muß im linken oberen Fenster sehr häufig gescrollt werden. Einfacher wird es, wenn die wichtigsten und am häufigsten benötigten Pakete in der Liste nach oben verschoben werden. Wer rudimentäre HTML-Kenntnisse hat, kann dazu die Datei c:\jdk1.3\docs\api\overview-frame.html mit einem Texteditor öffnen und die gewünschten Zeilen editieren. Nützlich wäre es beispielsweise, die Pakete java.lang, java.io, java.util, java.awt, java.awt.event, javax.swing, java.sql und java.net an den Anfang der Liste zu setzen. |
|
Java ist die Sprache des Internet, und folglich gibt es unzählige Ressourcen im Internet, die sich in der einen oder anderen Weise mit Java beschäftigen. Leider veralten viele der Adressen fast ebenso schnell, wie sie erschienen sind, und ein Buch ist daher nur bedingt geeignet, sie aufzuzählen. Wir wollen uns auf einige der wichtigsten Adressen beschränken, die bei der Entwicklung von Java-Programmen nützlich sein können.
Die offiziellen Usenet-Newsgroups zu Java beginnen mit dem Namen comp.lang.java. Hier gibt es eine ganze Reihe von Untergruppen zu speziellen Themen. Leider ist die Abgrenzung zwischen den einzelnen Untergruppen nicht immer klar, und es kommt regelmäßig zu Überschneidungen und Crosspostings. Tabelle 3.2 listet die Gruppen der comp.lang.java-Hierarchie auf.
Newsgroup | Inhalt | Nachrichten pro Tag |
news:comp.lang.java.advocacy | Allgemeine Diskussionen über Java | ca. 60 |
news:comp.lang.java.announce | Moderierte Newsgroup mit Ankündigungen und Vorstellungen von Neuentwicklungen. Wird kaum noch verwendet. | < 1 |
news:comp.lang.java.api | Das Application Programming Interface und die Klassenbibliothek. Die Gruppe ist veraltet und sollte nicht mehr verwendet werden. | ca. 1 |
news:comp.lang.java.beans | Die Komponentenarchitektur Beans | ca. 5-10 |
news:comp.lang.java.corba | Java, CORBA und Objektverteilung im Netz | ca. 5 |
news:comp.lang.java.databases | Datenbankprogrammierung mit JDBC | ca. 15-20 |
news:comp.lang.java.gui | Programmierung von grafischen Oberflächen und Diskussion von GUI-Buildern | ca. 30 |
news:comp.lang.java.help | Allgemeine Quelle für Fragen aller Art, von der Installation bis zu Programmierproblemen | ca. 80 |
news:comp.lang.java.machine | Diskussionen um VMs und alles, was sich unterhalb der Sprachebene abspielt. Ersetzt die Gruppe comp.lang.java.tech. | ca. 2-3 |
news:comp.lang.java.misc | Veraltete Gruppe mit Diskussionen zu unterschiedlichen Themen. Sollte eigentlich nicht mehr verwendet werden. | ca. 5 |
news:comp.lang.java.programmer | Stark frequentierte Newsgroup zu allen möglichen Aspekten der Java-Programmierung | ca. 170 |
news:comp.lang.java.security | Diskussion von Sicherheitsaspekten | ca. 5 |
news:comp.lang.java.setup | Diskussion von Installationsaspekten. Ist veraltet und sollte durch comp.lang.java.help ersetzt werden. | < 1 |
news:comp.lang.java.softwaretools | Diskussionen zu Tools, Werkzeugen und Entwicklungsumgebungen rund um Java | ca. 10 |
news:comp.lang.java.tech | Veraltete Gruppe zu technischen Fragestellungen. Wurde durch news:comp.lang.java.machine ersetzt. | ca. 1-2 |
news:comp.lang.javascript | Hier dreht sich alles um die Script-Sprache JavaScript. Diese Gruppe hat daher keinen direkten Bezug zu Java, soll aber der Vollständigkeit halber erwähnt werden. | Nicht ermittelt |
news:de.comp.lang.java | Es gibt auch eine (mittlerweile recht stark frequentierte) deutsche Newsgroup, in der alle Aspekte von Java diskutiert werden. | ca. 70-80 |
Tabelle 3.2: Die comp.lang.java-Hierarchie im Usenet
Unter http://java.sun.com/ oder http://www.javasoft.com/ finden Sie den Java-Server von Sun bzw. Suns JavaSoft Division. Hier sind Informationen aus erster Hand von den Entwicklern der Sprache zu finden. Dieser Server ist die erste Adresse, wenn es um Neuigkeiten, aktuelle Entwicklungen und Dokumentationen geht. Hier gibt es auch Links zu weiteren Meta-Ressourcen, die hier nicht erwähnt werden. Ein direkter Link auf die von Sun für Java zur Verfügung gestellten Entwicklungsumgebungen ist http://java.sun.com/products/. Unter der Adresse http://java.sun.com/products/jdk/1.3/ gibt es alles rund um die aktuelle Java-Version 1.3.
Eine wichtige Adresse für Entwickler ist auch die der Java Developer's Connection (JDC) unter http://java.sun.com/jdc. Diese Seiten werden von SUN gepflegt, um eine zentrale Anlaufstelle für Java-Entwickler zur Verfügung zu stellen. Es gibt dort Diskussionsforen, Schulungsangebote, weitere Software und jede Menge nützliche Informationen. Wichtiges »Organ« der JDC ist der JDC-Newsletter. Dabei handelt es sich um einen Newsletter, der per E-Mail regelmäßig über aktuelle Neuerungen informiert. Der Zutritt zur JDC ist kostenlos, erfordert aber das Ausfüllen einer Registrierungsseite.
Mitunter ebenfalls wichtig ist die - etwas euphemistisch als Bug Parade bezeichnete - Fehlerdatenbank des Java Development Kit. Hier werden alle bekannten Fehler gelistet und mit Beschreibung, Behebungs-Status und möglichen Workarounds beschrieben. Die Bug Parade kann unter http://developer.java.sun.com/developer/bugParade/index.jshtml erreicht und online nach Fehlern durchsucht werden. Registrierte Entwickler können neue Fehler eintragen oder zu bekannten Fehlern ihre Stimme abgegeben - in der Hoffnung, dadurch die Behebung zu beschleunigen.
Auch in Yahoo gibt es eine eigene Rubrik für die Programmiersprache Java. Unter der Adresse http://www.yahoo.com/Computers_and_Internet/Programming_Languages/Java findet sich eine Vielzahl von Links zu Java-spezifischen Themen.
Eines der größten Java-Verzeichnisse im Internet nennt sich Gamelan und ist unter der Adresse http://www.gamelan.com/ zu finden. Hier werden in einer ganzen Reihe von Rubriken über zehntausend Applets und Applikationen beschrieben. Gamelan bietet diverse Suchmöglichkeiten, und es gibt Listen der neuesten und interessantesten Applets. Vergleichbar mit Gamelan ist JARS, der »Java Applet Rating Service«. Er befindet sich unter der Adresse http://www.jars.com/ und bietet ebenfalls eine Vielzahl von Verweisen auf Java-Ressourcen im Internet.
JavaLobby ist ein Zusammenschluß von Java-Enthusiasten, die das Ziel verfolgen, die Sprache zu verbreiten und für ein »100 % Pure Java« einzutreten. Die Homepage unter http://www.javalobby.org/ bietet auch eine ganze Menge Verweise zu Java-Ressourcen und interessante Artikel rund um Java.
Unter der Adresse http://www.apl.jhu.edu/~hall/java/ verwaltet Marty Hall von der Johns Hopkins University eine interessante Liste von Java-Ressourcen mit Links zu FAQs, weiteren Dokumentationen, Beispielanwendungen, Entwicklungsumgebungen, Klassenbibliotheken und vielem anderen mehr.
Die (mittlerweile etwas veralteten) FAQs (Frequently Asked Questions) der Newsgroup comp.lang.java stammen von Elliotte Rusty Harold und sind unter der Adresse http://sunsite.unc.edu/javafaq/javafaq.html zu finden. Sie enthalten zahlreiche Hinweise zur Sprache, der Klassenbibliothek und zu den Java-Werkzeugen.
Von Sun selbst gibt es ebenfalls ein FAQ, das unter http://www.javasoft.com/products/jdk/faq.html zu finden ist. Dort sind auch einige Metainformationen und firmenbezogene Informationen über Java zu finden.
Auch Peter van der Linden, ein bekannter Java-Programmierer und Buchautor bietet ein FAQ-Dokument an (vermutlich das umfangreichste und aktuellste im Netz), das unter der Adresse http://www.afu.com/javafaq.html gefunden werden kann.
Das FAQ zur deutschen Java-Newsgroup wird von Markus Reitz gepflegt und ist unter http://www.geocities.com/SiliconValley/Foothills/5270/java.html zu finden.
Unter http://www.sys-con.com/java/index2.html ist die Onlineversion des Java Developer's Journal zu finden. Unter http://www.javaworld.com/javasoft.index.html findet sich die Java World, und die Adresse für den Java Report Online ist http://www.javareport.com/. Das auch in deutscher Sprache erhältliche Java Spektrum ist unter http://www.sigs.de/html/java_tm_spektrum.html zu finden. Online steht es allerdings nur in Auszügen zur Verfügung.
Auf dem SUN-Server gibt es weitere Dokumentationen zu Java. Unter http://java.sun.com/docs/books/jls//index.html ist die Sprachspezifikation zu finden, und die Spezifikation der virtuellen Maschine findet sich unter http://java.sun.com/docs/books/vmspec//index.html. Unter http://java.sun.com/docs/books/tutorial/index.html finden Sie ein Java-Tutorial von Sun. Einen Überblick über die insgesamt bei SUN verfügbare Java-Dokumentation gibt es unter der Adresse http://java.sun.com/docs/index.html.
Auf der CD-ROM befindet sich im Verzeichnis \html die HTML-Version des Buchs. Alternativ kann sie auch von http://www.gkrueger.com oder http://www.javabuch.de heruntergeladen werden. Sie enthält den kompletten Buchtext und eignet sich mit ihren Querverweisen und Navigationshilfen ausgezeichnet als Nachschlagewerk. Die HTML-Version kann direkt von der CD-ROM aufgerufen oder lokal installiert werden. Beides ist in der beigefügten Dokumentation beschrieben.
Abbildung 3.2: Die HTML-Version des Buchs
Die HTML-Version sollte mit den gängigen aktuellen Browsern gelesen werden können. Getestet wurde sie mit den 4er Versionen des Netscape Navigator und Internet Explorer, mit Opera 3.5 (wegen fehlender JavaScript-Unterstützung und leicht abweichender Tabellenformatierung gibt es hier einige Einschränkungen) und mit Mozilla 5.0 (in der getesteten Version M15 funktionierte die Tastaturbedienung noch nicht). Die im Text verwendeten Farben wurden Web-konform gewählt und sollten auch auf LCD-Bildschirmen und 256-Farben-Displays gut lesbar sein. Als sinnvolle Mindestauflösung kann 800 * 600 Pixel angesehen werden, wenn die Schriftgröße im Browser nicht zu groß eingestellt ist.
Es gibt eine Vielzahl von Navigationshilfen:
Es gibt eine limitierte Form der Tastaturbedienung, mit der wichtige Seiten ohne Zuhilfenahme der Maus angesprungen werden können. Auf den meisten Seiten stehen folgende Tastaturbefehle zur Verfügung:
Auf der Hauptseite des Index kann der gewünschte Indexbuchstabe auch über die Tastatur eingegeben werden. Die zuvor beschriebenen Kürzel sind auf dieser Seite außer Kraft.
Die HTML-Version enthält hauptsächlich HTML-3.2-Code. Cascading Style Sheets oder ähnliche Erweiterungen wurden nicht verwendet. Es gibt keine Java-Applets, und der Einsatz von JavaScript wurde so gering wie möglich gehalten. Die HTML-Version ist auch verwendbar, wenn JavaScript im Browser deaktiviert ist oder nicht unterstützt wird. In diesem Fall gibt es allerdings einige kleine Einschränkungen:
Ist JavaScript aktiviert, kann die API-Dokumentation an einer beliebigen Stelle liegen. Damit die Links der HTML-Version korrekt funktionieren, muß in diesem Fall an der im Unterverzeichnis html liegenden JavaScript-Datei gj22lib.js eine kleine Änderung vorgenommen werden. In der Variable apidocs in Zeile 27 muß nämlich der JDK-Dokumentationspfad korrekt gesetzt sein. Er ist standardmäßig auf c:\jdk1.3\docs\api\ eingestellt (passend für eine Windows-Standardinstallation) und sollte der eigenen Installation entsprechend verändert werden. Wenn alles korrekt eingestellt ist, müßte die Schaltfläche "API" am Ende dieser Seite auf die Startseite der API-Dokumentation verzweigen. |
|
Im Buch werden mitunter Grafiken verwendet, um die Beziehungen zwischen Klassen darzustellen. Wir wenden dazu eine leicht modifizierte Form von Klassendiagrammen an, wie sie auch in der Unified Modeling Language (kurz UML) verwendet werden. UML ist eine verbreitete Notation und Methodik für objektorientierte Analyse und Design. Mit ihrer Darstellung alleine könnte man leicht mehrere Bücher füllen. Wir wollen uns in diesem Buch auf die Basisnotation, die Klassendiagramme, beschränken.
Eine Klasse wird als graues Rechteck dargestellt, das in seinem Inneren den Namen der Klasse trägt. Mitunter hat es weitere Unterteilungen, in denen Methoden untergebracht sind, wenn diese für das Verständnis der Zusammenhänge von Bedeutung sind. Interfaces werden ebenfalls als Rechteck dargestellt (worum es sich dabei handelt, wird in Kapitel 9 erläutert), haben aber einen weißen Hintergrund. Zusätzlich wird über den Namen der Text »interface« geschrieben.
Abbildung 3.3 zeigt drei Klassen Vector, String und MyOwnClass und zwei Interfaces Enumeration und Serializable:
Abbildung 3.3: UML-Notation für Klassen und Interfaces
Klassen und Methoden können in Beziehungen zueinander stehen. Diese werden durch Verbindungslinien grafisch dargestellt. Bei einer Vererbungsbeziehung wird ein Pfeil von der abgeleiteten zur Basisklasse gezogen. Die Basisklasse steht in aller Regel über der abgeleiteten Klasse. Erben mehrere Klassen von einer Basisklasse, werden die Pfeile zur besseren Übersichtlichkeit zusammengefaßt. Die Implementierung eines Interfaces wird analog dargestellt, allerdings mit gestrichelten Linien.
Aggregation und Komposition wird durch eine Verbindungslinine dargestellt, die auf der Seite mit dem Container eine kleine Raute trägt. Wir unterscheiden dabei nicht zwischen den beiden Varianten. Aufrufbeziehungen werden als gestrichelte Pfeile mit Beschriftung dargestellt. Der Text beschreibt die Bedeutung des Aufrufs.
Abbildung 3.4 zeigt eine Basisklasse AbstractComponent, die das Interface Component implementiert. Aus AbstractComponent sind die drei Klassen ConcreteComponent1, ConcreteComponent2 und Container abgeleitet. Container ist Besitzer einer Sammlung von AbstractComponent-Objekten. ConcreteComponent2 verwendet die Klasse Cache:
Abbildung 3.4: UML-Notation für Beziehungen zwischen Klassen und Interfaces
Titel | Inhalt | Suchen | Index | API | Go To Java 2, Zweite Auflage, Addison Wesley, Version 2.0 |
<< | < | > | >> | © 2000 Guido Krüger, http://www.gkrueger.com |