用Java反射创建对象,反射访问Fiekd,反射调用方法
时间: 2023-12-19 20:30:08 浏览: 32
使用Java反射创建对象,反射访问Field,反射调用方法的示例代码如下:
1. 使用Java反射创建对象
```java
// 获取Class对象
Class<?> clazz = Class.forName("com.example.demo.User");
// 创建对象
Object obj = clazz.newInstance();
```
2. 反射访问Field
```java
// 获取Class对象
Class<?> clazz = Class.forName("com.example.demo.User");
// 创建对象
Object obj = clazz.newInstance();
// 获取Field对象
Field field = clazz.getDeclaredField("name");
// 设置访问权限
field.setAccessible(true);
// 设置Field的值
field.set(obj, "Tom");
// 获取Field的值
String name = (String) field.get(obj);
```
3. 反射调用方法
```java
// 获取Class对象
Class<?> clazz = Class.forName("com.example.demo.User");
// 创建对象
Object obj = clazz.newInstance();
// 获取Method对象
Method method = clazz.getDeclaredMethod("sayHello", String.class);
// 设置访问权限
method.setAccessible(true);
// 调用方法
String result = (String) method.invoke(obj, "Jack");
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)