若依框架中的反射方法
时间: 2023-12-14 21:33:37 浏览: 90
Laravel框架源码解析之反射的使用详解
若依框架中的反射方法可以用于获取类的信息、调用类的方法、获取和设置类的属性等。以下是若依框架中反射方法的一些例子:
1. 获取类的信息
```java
Class<?> clazz = User.class;
// 获取类名
String className = clazz.getName();
// 获取类的所有方法
Method[] methods = clazz.getDeclaredMethods();
// 获取类的所有属性
Field[] fields = clazz.getDeclaredFields();
// 获取类的所有注解
Annotation[] annotations = clazz.getDeclaredAnnotations();
```
2. 调用类的方法
```java
Class<?> clazz = User.class;
// 获取方法
Method method = clazz.getDeclaredMethod("getName");
// 创建对象
Object obj = clazz.newInstance();
// 调用方法
Object result = method.invoke(obj);
```
3. 获取和设置类的属性
```java
Class<?> clazz = User.class;
// 获取属性
Field field = clazz.getDeclaredField("name");
// 创建对象
Object obj = clazz.newInstance();
// 设置属性
field.setAccessible(true);
field.set(obj, "Tom");
// 获取属性
Object result = field.get(obj);
```
阅读全文