Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Neues in Java 7
2 Threads und nebenläufige Programmierung
3 Datenstrukturen und Algorithmen
4 Raum und Zeit
5 Dateien, Verzeichnisse und Dateizugriffe
6 Datenströme
7 Die eXtensible Markup Language (XML)
8 Dateiformate
9 Grafische Oberflächen mit Swing
10 Grafikprogrammierung
11 Netzwerkprogrammierung
12 Verteilte Programmierung mit RMI
13 RESTful und SOAP Web-Services
14 JavaServer Pages und Servlets
15 Applets
16 Datenbankmanagement mit JDBC
17 Technologien für die Infrastruktur
18 Reflection und Annotationen
19 Dynamische Übersetzung und Skriptsprachen
20 Logging und Monitoring
21 Java Native Interface (JNI)
22 Sicherheitskonzepte
23 Dienstprogramme für die Java-Umgebung
Stichwort
Download: - openbook, ca. 21,3 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / Java 7 - Mehr als eine Insel | vor >>
Java 7 - Mehr als eine Insel von Christian Ullenboom Das Handbuch zu den Java SE-Bibliotheken
Java 7 - Mehr als eine Insel Galileo Computing 1433 S., 2012, geb. 49,90 Euro, ISBN 978-3-8362-1507-7 |
| 18 Reflection und Annotationen
|  | 18.1 Metadaten
|  |  | 18.1.1 Metadaten durch JavaDoc-Tags
|  | 18.2 Metadaten der Klassen mit dem Class-Objekt
|  |  | 18.2.1 An ein Class-Objekt kommen
|  |  | 18.2.2 Was das Class-Objekt beschreibt *
|  |  | 18.2.3 Der Name der Klasse
|  |  | 18.2.4 instanceof mit Class-Objekten *
|  |  | 18.2.5 Oberklassen finden *
|  |  | 18.2.6 Implementierte Interfaces einer Klasse oder eines Interfaces *
|  |  | 18.2.7 Modifizierer und die Klasse Modifier *
|  |  | 18.2.8 Die Arbeit auf dem Feld *
|  | 18.3 Attribute, Methoden und Konstruktoren
|  |  | 18.3.1 Reflections – Gespür für die Attribute einer Klasse
|  |  | 18.3.2 Methoden einer Klasse erfragen
|  |  | 18.3.3 Properties einer Bean erfragen
|  |  | 18.3.4 Konstruktoren einer Klasse
|  |  | 18.3.5 Annotationen
|  | 18.4 Objekte erzeugen und manipulieren
|  |  | 18.4.1 Objekte erzeugen
|  |  | 18.4.2 Die Belegung der Variablen erfragen
|  |  | 18.4.3 Eine generische eigene toString()-Methode *
|  |  | 18.4.4 Variablen setzen
|  |  | 18.4.5 Bean-Zustände kopieren *
|  |  | 18.4.6 Private Attribute ändern
|  |  | 18.4.7 Methoden aufrufen
|  |  | 18.4.8 Statische Methoden aufrufen
|  |  | 18.4.9 Dynamische Methodenaufrufe bei festen Methoden beschleunigen *
|  | 18.5 Eigene Annotationstypen *
|  |  | 18.5.1 Annotationen zum Laden von Ressourcen
|  |  | 18.5.2 Neue Annotationen deklarieren
|  |  | 18.5.3 Annotationen mit genau einem Attribut
|  |  | 18.5.4 Element-Werte-Paare (Attribute) hinzufügen
|  |  | 18.5.5 Annotationsattribute vom Typ einer Aufzählung
|  |  | 18.5.6 Felder von Annotationsattributen
|  |  | 18.5.7 Vorbelegte Attribute
|  |  | 18.5.8 Annotieren von Annotationstypen
|  |  | 18.5.9 Deklarationen für unsere Ressourcen-Annotationen
|  |  | 18.5.10 Annotierte Elemente auslesen
|  |  | 18.5.11 Auf die Annotationsattribute zugreifen
|  |  | 18.5.12 Komplettbeispiel zum Initialisieren von Ressourcen
|  |  | 18.5.13 Mögliche Nachteile von Annotationen
|  | 18.6 Zum Weiterlesen
# 18 Reflection und Annotationen »Aber wofür soll das gut sein?« – Advanced Computing Systems Division von IBM zum Microchip, 1968 Das Reflection-Modell erlaubt es uns, Klassen und Objekte, die zur Laufzeit von der JVM im Speicher gehalten werden, zu untersuchen und in begrenztem Umfang zu modifizieren. Das Konzept der Reflection (oder auch Introspektion) ist besonders bei JavaBeans oder Hilfsprogrammen zum Debuggen oder bei GUI-Buildern interessant. Diese Programme heißen auch Metaprogramme, da sie auf den Klassen und Objekten anderer Programme operieren. Reflection fällt daher auch in die Schlagwortkategorie »Meta-Programming«. ## 18.1 Metadaten Ein Metadatum ist eine Information über eine Information. In Java beschreibt ein Class-Objekt, was Typen wie Klassen so »können«, also welche Konstruktoren und Methoden sie haben, welche Attribute sie besitzen und wie die Erweiterungsbeziehungen sind. ### 18.1.1 Metadaten durch JavaDoc-Tags Seit den ersten Java-Versionen gibt es die JavaDoc-Tags, die besondere Metadaten darstellen. So ist im folgenden Beispiel die Methode veraltet, weil das JavaDoc-Tag @deprecated gesetzt ist:
    /**
     * Sets the day of the month of this <tt>Date</tt>object to the specified value. ....
     * @deprecated As of JDK version 1.1, replaced by ....
     */
    @Deprecated
    public void setDate( int date ) {
      getCalendarDate().setDayOfMonth( date );
    }
In diesem Fall gilt das JavaDoc-Tag für genau eine Methode, die dann als annotiert gilt. Die Beschreibungen können aber noch weiter gehen und müssen nicht nur auf Methodenebene bleiben. So annotiert das Tag @author den Autor und damit gleich eine ganze Klasse oder Schnittstelle. Um die in Kommentaren eingesetzten JavaDoc-Tags muss sich der Java-Compiler nicht kümmern, obwohl er @deprecated eine Ausnahme zugesteht. Es ist Aufgabe des externen Programms javadoc – eines sogenannten Doclets –, aus diesen Kommentaren etwas zu machen, etwa eine Sammlung von verknüpften HTML-Dokumenten. ### Ihr Kommentar Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück | <top> | vor >>
Zum Katalog
Java 7 – Mehr als eine Insel Jetzt bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchempfehlungen
| Java und XML
| Einstieg in Eclipse 3.7
| Android 3
| NetBeans Platform 7
| Java ist auch eine Insel
| Apps entwickeln für Android 4
| Java 7
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2012
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de