Kommentare DVG1 - 10 - Kommentare 1 Kommentare Es gibt zwei Arten von Kommentaren: • einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile • mehrzeilige Kommentare /* Der Kommentar beginnt mit /* und endet mit DVG1 - 10 - Kommentare */ 2 DVG1 - 10 - Kommentare // Das ist das berühmte Hello world - Programm public class Hello { /* Mit der Methode „main“ beginnt die Abarbeitung jedes Programmes. */ public static void main (String [] args) { /* * out ist das Standardausgabe-Objekt auf dem * aktuellen Rechner. * Die Methode println gibt eine Zeichenkette und * einen Zeilenvorschub auf das Objekt out aus. */ System.out.println("Hello, world!"); } } 3 Dokumentations-Kommentare /** * beginnen immer mit /** * und enden mit */ • werden vor Klassen-, Variablen- und Methoden-Definitionen von dem Tool „javadoc“ interpretiert und zum Erstellen einer Dokumentation in Form von HTML-Dateien benutzt. DVG1 - 10 - Kommentare • * , Leerzeichen und Tabulatorzeichen am Zeilenanfang werden ignoriert. HTML Text kann beliebig eingesetzt werden. Spezielle tags beginnen mit „@“ und werden besonders interpretiert. • Der erste Satz enthält die Kurzbeschreibung. Der Rest die ausführliche Beschreibung. • Können HTML-Tags außer <H1>..<H6> und <HR> enthalten. 4 @author @author name-text vor Klassen-Definitionen Informationen werden als Autor-Informationen in die Dokumentation übernommen. Mehrere author-tags können hintereinander angegeben werden. author-tags werden übernommen, wenn javadoc -author DVG1 - 10 - Kommentare benutzt wird. Beispiel: @author MA1 TFH HerbstSemester 2000/2001 ==> Author: MA1 TFH HerbstSemester 2000/2001 5 @deprecated DVG1 - 10 - Kommentare @deprecated deprecated-text vor allen Definitionen Das mit dem deprecated-tag gekennzeichnete Objekt wird in einer späteren Version des Programmes möglicherweise nicht mehr enthalten sein. In dem Text kann angegeben werden, welches andere Objekt die Funktion übernimmt. Falls es keinen Ersatz gibt, sollte „No replacement“ angegeben werden. Beispiel: @deprecated wird ersetzt durch Equation.fs ==> Deprecated. wird ersetzt durch Equation.fs 6 @exception, @throws @exception class-name description vor Methoden-Definitionen In der Methode wird die Ausnahme „class-name“ nach außen weitergereicht. Beispiel: DVG1 - 10 - Kommentare @exception Keine Ausnahmen ==> Throws: Keine - Ausnahmen 7 @param @param parameter-name description vor Methoden-Definitionen Beschreibt die Parameter einer Methode. Als Beschreibung kann beliebiger Text zur Erläuterung Bedeutung und der Funktionsweise des Parameters angegeben werden. Beispiel: @param args Enthält die Parameter, die beim Start des Programmes übergeben werden. ==> Parameters: args - Enthält die Parameter, die beim Start des Programmes übergeben werden. DVG1 - 10 - Kommentare 8 @return @return description vor Methoden-Definitionen Beschreibt den return-Wert einer Methode. Als Beschreibung sollten Typ und Wertebereich des return-Wertes angegeben werden. Beispiel: @return float - Nullstelle der Funktion f. ==> Returns: float - Nullstelle der Funktion f. DVG1 - 10 - Kommentare 9 DVG1 - 10 - Kommentare @see @see name label vor allen Definitionen Erzeugt eine Referenz auf ein anderes Objekt. Mögliche Formen sind: @see package.class#member label Referenz auf ein anderes Objekt @see <a href="URL#value">label</a> Referenz auf ein URL @see "string“ allgemeine Referenz, z.B. auf ein Buch oder Artikel Beispiel: @see Hello#main main ==> See Also: main 10 @link {@link name label} vor allen Definitionen Kann genauso verwendet werden wie das see-tag, nur daß die Referenz im Text erzeugt wird und nicht als extra Absatz. Beispiel: DVG1 - 10 - Kommentare Zur Berechnung der Nullstelle nutze man die Methode {@link equation#newton newton} der Klasse {@link equation equation}. ==> Zur Berechnung der Nullstelle nutze man die Methode newton der Klasse equation 11 @since @since since-text vor allen Definitionen Erläutert seit wann das entsprechende Objekt verfügbar ist. Beispiel: @since Version 1.1.6 DVG1 - 10 - Kommentare ==> Since: Version 1.1.6 12 @version @version version-text vor Klassen-Definitionen Gibt die Version der Klasse an. version-tags werden übernommen, wenn javadoc -version benutzt wird. DVG1 - 10 - Kommentare Beispiel: @version 1.0 ==> Version: 1.0 13 Tags DVG1 - 10 - Kommentare @author name-text @deprecated deprecated-text @exception class-name description {@link name label} @param parameter-name description @return description @see reference @since since-text @serial field-description @serialField field-name field-type field-description @serialData data-description @throws class-name description @version version-text 14 Zusammenfassung tag DVG1 - 10 - Kommentare author deprecated exception link param return see since serial serialField serialData throws version package field x class interface x x x x x x x x x x x x x method constructor javadoc -author x x x x x x x x x x x -version 15 javadoc Das Tool javadoc erzeugt aus den Dokumentations-Kommentaren eine Dokumentation. Aufruf z.B.: javadoc -author -version -d dokumentation *.java erzeugt aus allen java-Files des aktuellen Verzeichnisses die Dokumentation und legt diese im Unterverzeichnis „dokumentation“ ab. DVG1 - 10 - Kommentare 16 javadoc-Parameter -author: Die @author-tags werden ausgewertet. -version: Die @version-tags werden ausgewertet. -private: Alle Klassen, Variablen und Methoden werden in die Dokumentation übernommen. -windowtitle title-text: Titel der Dokumentation. -d Verzeichnis: Die Dokumentation wird in das angegebene Verzeichnis geschrieben. file1 file2 ... fileN: java-Quellen die ausgewertet werden. Z.B.: javadoc -author -version -private -d Dokumentation Newton1.java Newton2.java Newton3.java DVG1 - 10 - Kommentare 17 Parameter können in eine Datei geschrieben werden. Z.B: Datei Newton.dat enthält -author -version -private -title Newton-Verfahren -d dokumentation Newton1.java Newton2.java Newton3.java Dann kann die Dokumentation erzeugt werden durch javadoc @Newton.dat DVG1 - 10 - Kommentare 18