Update of exercises
parent
7811de699d
commit
cfda43bb03
|
|
@ -1,6 +1,6 @@
|
|||
# Klasse per Reflection analysieren
|
||||
## Lernziel
|
||||
[Musterlösung](solution/)
|
||||
|
||||
|
||||
|
||||
Reflection einsetzen, um Klassen zu untersuchen.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Objekte per Reflection erzeugen
|
||||
## Lernziel
|
||||
[Musterlösung](solution/)
|
||||
|
||||
|
||||
|
||||
Objekte per Reflection erzeugen.
|
||||
|
|
|
|||
|
|
@ -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) | |
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue