Update of exercises

main
Thomas Smits 2026-01-13 14:16:55 +01:00
parent 7811de699d
commit cfda43bb03
5 changed files with 4 additions and 58 deletions

View File

@ -1,6 +1,6 @@
# Klasse per Reflection analysieren # Klasse per Reflection analysieren
## Lernziel ## Lernziel
[Musterlösung](solution/)
Reflection einsetzen, um Klassen zu untersuchen. Reflection einsetzen, um Klassen zu untersuchen.

View File

@ -1,6 +1,6 @@
# Objekte per Reflection erzeugen # Objekte per Reflection erzeugen
## Lernziel ## Lernziel
[Musterlösung](solution/)
Objekte per Reflection erzeugen. Objekte per Reflection erzeugen.

View File

@ -119,5 +119,5 @@ Hinweise zur nötigen Softwareausstattung finden Sie [hier](help/softwareausstat
| 105. | Threads | [Stack und Heap unterscheiden](Threads_006/readme.md) | [](Threads_006/solution/) | | 105. | Threads | [Stack und Heap unterscheiden](Threads_006/readme.md) | [](Threads_006/solution/) |
| 106. | Threads | [synchronized verwenden](Threads_007/readme.md) | [](Threads_007/solution/) | | 106. | Threads | [synchronized verwenden](Threads_007/readme.md) | [](Threads_007/solution/) |
| 107. | Threads | [Timer und TimerTask verwenden](Threads_008/readme.md) | [](Threads_008/solution/) | | 107. | Threads | [Timer und TimerTask verwenden](Threads_008/readme.md) | [](Threads_008/solution/) |
| 108. | Reflection | [Klasse per Reflection analysieren](Reflection_001/readme.md) | [](Reflection_001/solution/) | | 108. | Reflection | [Klasse per Reflection analysieren](Reflection_001/readme.md) | |
| 109. | Reflection | [Objekte per Reflection erzeugen](Reflection_002/readme.md) | [](Reflection_002/solution/) | | 109. | Reflection | [Objekte per Reflection erzeugen](Reflection_002/readme.md) | |

View File

@ -1,33 +0,0 @@
package pr2.reflection.analyzer;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class Analyzer {
public static void main(String[] args) {
if (args.length != 1) {
System.err.println("Bitte einen Klassennamen angeben.");
System.exit(1);
}
try {
Class<?> clazz = Class.forName(args[0]);
Method[] methods = clazz.getMethods();
Field[] fields = clazz.getFields();
for (Field field : fields) {
System.out.println(field);
}
for (Method method : methods) {
System.out.println(method);
}
}
catch (ClassNotFoundException e) {
System.err.println("Klasse nicht gefunden.");
System.exit(1);
}
}
}

View File

@ -1,21 +0,0 @@
package pr2.reflection.reflector;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Reflector {
public static void main(String[] args) throws ClassNotFoundException,
SecurityException, NoSuchMethodException, IllegalArgumentException,
InstantiationException, IllegalAccessException,
InvocationTargetException {
Class<?> clazz = Class.forName("java.util.Date");
Constructor<?> constructor = clazz.getConstructor();
Object o = constructor.newInstance((Object[]) null);
Method toString = clazz.getMethod("toString");
Object result = toString.invoke(o, (Object[]) null);
System.out.println(result);
}
}