Annotationen in Java [] (Annotationen in Java), Lektion, Seite 722559
https://www.purl.org/stefan_ram/pub/annotationen_java (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Annotationen in Java 

Eine Annotation ist eine Information, die verschiedenen Programmteilen, insbesondere Deklarationen, beigefügt werden kann. Sie wird mit dem kommerziellen À »@« und dem ihm folgenden Namen eines Referenztyps geschrieben, der entsprechend als Annotationstyp gekennzeichnet worden sein muß.

Man kann sich eine Annotation zunächst wie ein Kommentar vorstellen. Allerdings ist es bei einer Annotation deutlicher festgelegt, auf welchen Teil des Quelltextes sie sich bezieht (in der Regel auf den ihr folgenden). Während ein Kommentar frei in Deutsch oder Englisch formuliert werden kann, gelten für Annotationen strengere Regeln. Dadurch wird es dann auch möglich, daß Annotationen von Programmen verarbeitet werden können. Einige Annotationen dienen zunächst – wie ein Kommentar – nur dem Festhalten einer Information, ohne daß sie sich sonst weiter auswirken. Anderen Annotation werden vom Compiler verarbeitet, und können so beispielsweise die Interpretation eines Quelltextes steuern.

Die Annotation »@java.lang.SuppressWarnings«

Ein Programm sollte möglichst ohne Meldungen (Warnungen) kompiliert werden, da tolerierte Warnungen dazu führen können, daß andere Warnungen übersehen werden.

Mit der Annotation »@java.lang.SuppressWarnings« ist es möglich, für eine Deklaration Warnungen eines bestimmten Typs abschalten  zu können.

Solch eine Annotation wird aber normalerweise angebracht, nachdem eine bestimmte Warnung für eine Deklaration gelesen wurde und der Programmierer sich sicher ist, daß er die Warnung in diesem Fall ignorieren möchte.

Dabei wird davon Gebrauch gemacht, daß eine Annotation auch Argumente haben kann. Bei »@java.lang.SuppressWarnings« ist das Argument ein Wort, welches festlegt, welche Warnung abgeschaltet werden soll.

Main.java ::=
public final class Main
{ public static void method()
{ final int i = 1 / 0; } public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( "main" ); }}
Compiler-Ausgabe (»javac -Xlint:all «)
Main.java:3: warning: [divzero] division by zero
{ final int i = 1 / 0; }
^
1 warning

Die Compiler-Option »-Xlint:all« die Ausgabe detaillierte Meldungen zu möglicherweise fehlerhaften Teilen eines Programms. Bei der Übersetzung des voranstehenden Programms mit dem JKD  von 2015 und der Compiler-Option »-Xlint:all« erscheint die oben gezeigte Warnung.

Das Wort »divzero« als Argument der Annotation »@java.lang.SuppressWarnings« schaltet dann die zuvor angezeigte Warnung für die Methode »method« ab.

Dabei wurde davon Gebrauch gemacht, daß eine Annotation auch Argumente haben kann. Bei »@java.lang.SuppressWarnings« ist das Argument ein Wort, welches festlegt, welche Warnung abgeschaltet werden soll.

Main.java ::=
public final class Main
{ @java.lang.SuppressWarnings( "divzero" )
public static void method()
{ final int i = 1 / 0; } public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( "main" ); }}
Compiler-Ausgabe
(keine Warnung)
java.lang.System.out
main

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722559 stefan_ram:722559 Annotationen in Java Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722559, slrprddef722559, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/annotationen_java