🌺2.1 例子1:使用ClassLoader动态加载类
🌺2.2 例子2:使用反射创建对象
🌺2.3 例子3:使用动态代理
例子2:使用反射创建对象
public class ReflectTest {
public static void main(String[] args) throws Exception {
Class<?> clazz = Class.forName("com.example.TestClass");
Object obj = clazz.newInstance();
Method method = clazz.getMethod("hello");
method.invoke(obj);
}
}
class TestClass {
public void hello() {
System.out.println("Hello, world!");
}
}
上面的代码演示了如何使用反射创建对象。在main方法中,首先使用Class.forName方法获取TestClass类的Class对象。然后,通过反射创建TestClass类的实例,并调用它的hello方法。Class.forName方法会返回一个Class对象,该对象包含了类的相关信息,例如类的名字、字段、方法等。通过Class对象可以动态地创建对象、调用方法、访问字段等。