Class<?> myClass = Class.forName("com.example.MyClass");
Class<?> superClass = myClass.getSuperclass();
Class<?>[] interfaces = myClass.getInterfaces();
Field[] fields = myClass.getDeclaredFields();
Method method = myClass.getDeclaredMethod("myMethod", String.class);
Object result = method.invoke(myObject, "parameterValue");
Field field = myClass.getDeclaredField("myField");
field.setAccessible(true);
field.set(myObject, "newValue");