Java反射机制详解:动态调用示例
Java反射机制是一种强大的工具,它允许程序在运行时检查类、方法和字段的信息,并动态调用这些内容。
以下是Java反射机制的详解以及动态调用示例:
类的反射:
Class
类:代表一个类。Class.forName(String className)
:用于加载并获取指定的类对象。
方法的反射:
Method
类:代表一个方法或构造函数。Method.invoke(Object obj, Object... args)
:用于调用对象的方法,并可以传递参数。
字段的反射:
Field
类:代表一个字段(属性)。Field.get(Object obj)
和Field.set(Object obj, Object value))
:用于获取和设置对象的字段值。
示例代码:
// 加载类
Class<?> clazz = Class.forName("java.lang.String");
// 获取类的方法
Method method = clazz.getMethod("toString");
// 创建对象并调用方法
Object obj = new String("Hello");
String result = (String) method.invoke(obj);
System.out.println(result); // 输出:Hello
这个示例中,我们加载了java.lang.String
类,并获取了名为toString
的方法。然后我们创建了一个String
对象并调用了该方法,最后输出了动态调用的结果。
还没有评论,来说两句吧...