From cfda43bb035fdfc4668d258519792947df7de519 Mon Sep 17 00:00:00 2001 From: Thomas Smits Date: Tue, 13 Jan 2026 14:16:55 +0100 Subject: [PATCH] Update of exercises --- Reflection_001/readme.md | 2 +- Reflection_002/readme.md | 2 +- readme.md | 4 +-- .../pr2/reflection/analyzer/Analyzer.java | 33 ------------------- .../pr2/reflection/reflector/Reflector.java | 21 ------------ 5 files changed, 4 insertions(+), 58 deletions(-) delete mode 100644 solutions/src/main/java/pr2/reflection/analyzer/Analyzer.java delete mode 100644 solutions/src/main/java/pr2/reflection/reflector/Reflector.java diff --git a/Reflection_001/readme.md b/Reflection_001/readme.md index af8058b..4010670 100644 --- a/Reflection_001/readme.md +++ b/Reflection_001/readme.md @@ -1,6 +1,6 @@ # Klasse per Reflection analysieren ## Lernziel - [Musterlösung](solution/) + Reflection einsetzen, um Klassen zu untersuchen. diff --git a/Reflection_002/readme.md b/Reflection_002/readme.md index eda8e95..7834440 100644 --- a/Reflection_002/readme.md +++ b/Reflection_002/readme.md @@ -1,6 +1,6 @@ # Objekte per Reflection erzeugen ## Lernziel - [Musterlösung](solution/) + Objekte per Reflection erzeugen. diff --git a/readme.md b/readme.md index f972d61..ed33eb7 100644 --- a/readme.md +++ b/readme.md @@ -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/) | | 106. | Threads | [synchronized verwenden](Threads_007/readme.md) | [✅](Threads_007/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/) | -| 109. | Reflection | [Objekte per Reflection erzeugen](Reflection_002/readme.md) | [✅](Reflection_002/solution/) | +| 108. | Reflection | [Klasse per Reflection analysieren](Reflection_001/readme.md) | | +| 109. | Reflection | [Objekte per Reflection erzeugen](Reflection_002/readme.md) | | diff --git a/solutions/src/main/java/pr2/reflection/analyzer/Analyzer.java b/solutions/src/main/java/pr2/reflection/analyzer/Analyzer.java deleted file mode 100644 index 0606063..0000000 --- a/solutions/src/main/java/pr2/reflection/analyzer/Analyzer.java +++ /dev/null @@ -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); - } - } -} diff --git a/solutions/src/main/java/pr2/reflection/reflector/Reflector.java b/solutions/src/main/java/pr2/reflection/reflector/Reflector.java deleted file mode 100644 index 35a0413..0000000 --- a/solutions/src/main/java/pr2/reflection/reflector/Reflector.java +++ /dev/null @@ -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); - } -}