summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/html/k100272.html
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Master/Reference Architectures and Patterns/hjp5/html/k100272.html
downloadStudium-master.tar.gz
Studium-master.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100272.html')
-rw-r--r--Master/Reference Architectures and Patterns/hjp5/html/k100272.html101
1 files changed, 101 insertions, 0 deletions
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 @@
+<html>
+<head>
+<title>
+Handbuch der Java-Programmierung, 5. Auflage
+</title>
+</head>
+<body>
+<a name="startofbody"></a>
+<script language="JavaScript" src="hjp4lib.js">
+</script>
+<script language="JavaScript">
+installKbdHandler("97,#startofbody;101,#endofbody;116,cover.html;122,k100003.html;115,search.html;105,index.html;100,JDKDOCS;112,APIDOCS;104,k100271.html;106,k100271.html;107,k100273.html;108,k100279.html");
+</script>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html">&nbsp;Titel&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html">&nbsp;Inhalt&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html">&nbsp;Suchen&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html">&nbsp;Index&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()">&nbsp;DOC&nbsp;</a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100271.html">&nbsp;&lt;&lt;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100271.html">&nbsp;&nbsp;&lt;&nbsp;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100273.html">&nbsp;&nbsp;&gt;&nbsp;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100279.html">&nbsp;&gt;&gt;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()">&nbsp;API&nbsp;</a>
+<td align="right">Kapitel 43 - Reflection
+</table>
+<hr>
+
+
+<!-- Section -->
+<a name="sectlevel2id043001"></a>
+<h2>43.1 Einleitung </h2>
+<hr>
+<ul>
+<li><a href="k100272.html#sectlevel2id043001">43.1 Einleitung</a>
+</ul>
+<hr>
+
+<p>
+Bei der Entwicklung des JDK 1.1 sahen sich die Entwickler mit einer
+Schw&auml;che von Java konfrontiert, die die Entwicklung bestimmter
+Typen von Tools und Bibliotheken unm&ouml;glich machte: der statischen
+Struktur von Klassen und Objekten. Um ein Objekt anzulegen, eine seiner
+Methoden aufzurufen oder auf eine seiner Membervariablen zuzugreifen,
+mu&szlig;te der Code der Klasse zur <i>Compilezeit</i> bekannt sein.
+W&auml;hrend dies f&uuml;r die meisten gew&ouml;hnlichen Anwendungen
+kein Problem darstellt, ist es f&uuml;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&uuml;gbaren
+Spracheigenschaften nicht m&ouml;glich.
+
+<p>
+Ben&ouml;tigt wurde vielmehr die M&ouml;glichkeit, Klassen zu laden
+und zu instanzieren (auch mit parametrisierten Konstruktoren), ohne
+dass bereits zur Compilezeit ihr Name bekannt sein mu&szlig;te. Weiterhin
+sollten statische oder instanzbasierte Methoden aufgerufen und auf
+Membervariablen auch dann zugegriffen werden k&ouml;nnen, wenn ihr
+Name erst zur Laufzeit des Programms bekannt ist.
+
+<p>
+Gesucht wurde also ein Mechanismus, der diese normalerweise vom Compiler
+angeforderten F&auml;higkeiten des Laufzeitsystems auch &#187;normalen&#171;
+Anwendungen zur Verf&uuml;gung stellte. Mit dem Reflection-API des
+JDK 1.1 wurde eine Library-Schnittstelle geschaffen, die alle erw&auml;hnten
+F&auml;higkeiten (und noch einige mehr) implementiert und beliebigen
+Anwendungen als integralen Bestandteil der Java-Klassenbibliothek
+zur Verf&uuml;gung stellt. Erweiterungen am Sprachkern waren dazu
+nicht n&ouml;tig.
+
+<p>
+Wir wollen uns in diesem Kapitel die wichtigsten Eigenschaften des
+Reflection-APIs ansehen und ein paar n&uuml;tzliche Anwendungen vorstellen.
+Die als <a name="ixa103161"><i>Introspection</i></a> bezeichneten
+Erweiterungen f&uuml;r die Beans-Behandlung werden in <a href="k100279.html#kapitelbeans">Kapitel 44</a>
+behandelt.
+<hr>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html">&nbsp;Titel&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html">&nbsp;Inhalt&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html">&nbsp;Suchen&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html">&nbsp;Index&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()">&nbsp;DOC&nbsp;</a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage, Addison
+Wesley, Version 5.0.1
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100271.html">&nbsp;&lt;&lt;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100271.html">&nbsp;&nbsp;&lt;&nbsp;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100273.html">&nbsp;&nbsp;&gt;&nbsp;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100279.html">&nbsp;&gt;&gt;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()">&nbsp;API&nbsp;</a>
+<td align="right">&copy; 1998, 2007 Guido Kr&uuml;ger &amp; Thomas
+Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
+</table>
+<a name="endofbody"></a>
+</body>
+</html>