import com.kaciras.reflect.ClassResolver;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class ReflectionDemo {
public static void main(String[] args) throws ClassNotFoundException {
ClassResolver classResolver = new ClassResolver();
Class<?> clazz = classResolver.fromName("com.example.MyClass");
Constructor<?>[] constructors = clazz.getConstructors();
Method[] methods = clazz.getDeclaredMethods();
Field[] fields = clazz.getDeclaredFields();
System.out.println("Constructors:");
for (Constructor<?> constructor : constructors) {
System.out.println(constructor);
}
System.out.println("Methods:");
for (Method method : methods) {
System.out.println(method);
}
System.out.println("Fields:");
for (Field field : fields) {
System.out.println(field);
}
}
}
import com.kaciras.reflect.ClassResolver;
public class ReflectionDemo {
public static void main(String[] args) throws ClassNotFoundException {
ClassResolver classResolver = new ClassResolver();
Class<?> clazz = classResolver.fromName("com.example.MyClass");
try {
Object instance = clazz.getDeclaredConstructor().newInstance();
clazz.getDeclaredMethod("doSomething").invoke(instance);
} catch (Exception e) {
e.printStackTrace();
}
}
}
import com.kaciras.reflect.ClassResolver;
import java.lang.reflect.Field;
public class ReflectionDemo {
public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException {
ClassResolver classResolver = new ClassResolver();
Class<?> clazz = classResolver.fromName("com.example.MyClass");
try {
Object instance = clazz.getDeclaredConstructor().newInstance();
Field privateField = clazz.getDeclaredField("privateField");
privateField.setAccessible(true);
privateField.set(instance, "New Value");
String fieldValue = (String) clazz.getDeclaredMethod("getPrivateField").invoke(instance);
System.out.println("Private Field Value: " + fieldValue);
} catch (Exception e) {
e.printStackTrace();
}
}
}
<dependencies>
<dependency>
<groupId>com.kaciras.reflect</groupId>
<artifactId>ka-commons-reflect</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>