try { browser.print(gc); } finally { gc.dispose(); } 怎么用反射写
时间: 2023-11-22 18:53:11 浏览: 29
可以使用以下代码使用反射来调用该方法:
```
try {
Class<?> browserClass = Class.forName("browser");
Object browser = browserClass.newInstance();
Class<?> gcClass = Class.forName("gc");
Method printMethod = browserClass.getDeclaredMethod("print", gcClass);
printMethod.invoke(browser, gcClass.newInstance());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
e.printStackTrace();
}
```
其中,我们首先通过 `Class.forName()` 方法获取 `browser` 类的 `Class` 对象,然后通过 `newInstance()` 方法创建一个 `browser` 的实例。
接着,我们使用同样的方式获取 `gc` 类的 `Class` 对象,然后使用 `newInstance()` 方法创建一个 `gc` 的实例。
最后,我们使用 `getDeclaredMethod()` 方法获取 `print()` 方法的 `Method` 对象,然后使用 `invoke()` 方法调用该方法,传递 `browser` 实例和 `gc` 实例作为参数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](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)