使用Java反射API进行类、方法、属性操作的示例
在Java中,反射API允许我们在运行时查看和操作对象的信息。以下是一些示例:
- 获取类信息:
```java
// 获取Class对象
Class<?> myClass = Class.forName(“com.example.MyClass”);
// 输出类名、包名等信息
System.out.println(“Class Name: “ + myClass.getName());
System.out.println(“Package Name: “ + myClass.getPackage().getName());
2. 创建对象:
```java
// 获取构造函数
Constructor<?> constructor = myClass.getConstructor();
// 使用反射创建对象
Object obj = constructor.newInstance(new String[] {"John", "Doe"}));
// 输出对象信息
System.out.println("Created Object: " + obj);
- 访问方法:
```java
// 获取方法
Method method = myClass.getMethod(“sayHello”);
// 调用方法
Object result = method.invoke(obj);
// 输出结果
System.out.println(“Result of Method Call: “ + result);
4. 操作属性:
假设一个类有一个名为`age`的属性,可以这样操作:
```java
// 获取属性
Property property = myClass.getProperty("age");
// 调用set方法设置属性值
method = property.getSetter();
result = method.invoke(obj, new Integer(30)));
// 输出设置后的属性值
System.out.println("Set Age: " + result);
以上就是使用Java反射API进行类、方法、属性操作的示例。
还没有评论,来说两句吧...