Code
java
import java.lang.reflect.*;
Class<?> clazz = String.class;
// Get class name
System.out.println(clazz.getName());
System.out.println(clazz.getSimpleName());
// Get fields
for (Field field : clazz.getDeclaredFields()) {
System.out.println(field.getName() + ": " + field.getType());
}
// Get methods
for (Method method : clazz.getDeclaredMethods()) {
System.out.println(method.getName());
}
// Dynamically create instance
Object obj = clazz.getConstructor(String.class).newInstance("Hello");
// Dynamically invoke method
Method m = clazz.getMethod("length");
int len = (int) m.invoke(obj);