From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/html/k100272.html | 101 +++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100272.html (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100272.html') diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100272.html b/Master/Reference Architectures and Patterns/hjp5/html/k100272.html new file mode 100644 index 0000000..ca0f0d9 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100272.html @@ -0,0 +1,101 @@ + + + +Handbuch der Java-Programmierung, 5. Auflage + + + + + + + + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage +
 <<  +  <   +  >   + >>  + API  +Kapitel 43 - Reflection +
+
+ + + + +

43.1 Einleitung

+
+ +
+ +

+Bei der Entwicklung des JDK 1.1 sahen sich die Entwickler mit einer +Schwäche von Java konfrontiert, die die Entwicklung bestimmter +Typen von Tools und Bibliotheken unmöglich machte: der statischen +Struktur von Klassen und Objekten. Um ein Objekt anzulegen, eine seiner +Methoden aufzurufen oder auf eine seiner Membervariablen zuzugreifen, +mußte der Code der Klasse zur Compilezeit bekannt sein. +Während dies für die meisten gewöhnlichen Anwendungen +kein Problem darstellt, ist es für die Entwicklung generischer +Werkzeuge und hochkonfigurierbarer Anwendungen, die durch PlugIns +erweiterbar sind, unzureichend. Insbesondere die Entwicklung der Beans- +und Serialisierungs-APIs war mit den in der Version 1.0 verfügbaren +Spracheigenschaften nicht möglich. + +

+Benötigt wurde vielmehr die Möglichkeit, Klassen zu laden +und zu instanzieren (auch mit parametrisierten Konstruktoren), ohne +dass bereits zur Compilezeit ihr Name bekannt sein mußte. Weiterhin +sollten statische oder instanzbasierte Methoden aufgerufen und auf +Membervariablen auch dann zugegriffen werden können, wenn ihr +Name erst zur Laufzeit des Programms bekannt ist. + +

+Gesucht wurde also ein Mechanismus, der diese normalerweise vom Compiler +angeforderten Fähigkeiten des Laufzeitsystems auch »normalen« +Anwendungen zur Verfügung stellte. Mit dem Reflection-API des +JDK 1.1 wurde eine Library-Schnittstelle geschaffen, die alle erwähnten +Fähigkeiten (und noch einige mehr) implementiert und beliebigen +Anwendungen als integralen Bestandteil der Java-Klassenbibliothek +zur Verfügung stellt. Erweiterungen am Sprachkern waren dazu +nicht nötig. + +

+Wir wollen uns in diesem Kapitel die wichtigsten Eigenschaften des +Reflection-APIs ansehen und ein paar nützliche Anwendungen vorstellen. +Die als Introspection bezeichneten +Erweiterungen für die Beans-Behandlung werden in Kapitel 44 +behandelt. +


+ + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage, Addison +Wesley, Version 5.0.1 +
 <<  +  <   +  >   + >>  + API  +© 1998, 2007 Guido Krüger & Thomas +Stark, http://www.javabuch.de +
+ + + -- cgit v1.2.3