java反射调用类的方法是什么

2023-08-28 1769阅读 0评论

Java反射调用类的方法可以通过以下步骤实现:
1. 获取需要调用方法的类的Class对象,可以使用`Class.forName()`方法传入类的全限定名获取,也可以通过对象的`getClass()`方法获取。
2. 通过Class对象的`getMethod()`或`getDeclaredMethod()`方法获取要调用的方法对象。`getMethod()`方法可以获取公有方法,而`getDeclaredMethod()`方法可以获取所有方法,包括私有方法。
3. 设置方法的可访问性,如果要调用的方法是私有方法,可以使用`setAccessible(true)`方法将其设置为可访问。
4. 调用方法对象的`invoke()`方法,并传入要调用方法的对象以及方法的参数。
以下是一个示例代码,演示了如何使用反射调用类的方法:
```java
import java.lang.reflect.Method;
public class ReflectMethodExample {
public static void main(String[] args) throws Exception {
// 获取类的Class对象
Class clazz = MyClass.class;
// 获取要调用的方法对象
Method method = clazz.getDeclaredMethod("myMethod", String.class, int.class);
// 设置方法的可访问性
method.setAccessible(true);
// 创建类的实例
MyClass myObject = new MyClass();
// 调用方法
method.invoke(myObject, "Hello", 123);
}
}
class MyClass {
private void myMethod(String str, int num) {
System.out.println("String: " + str);
System.out.println("Number: " + num);
}
}
```
以上代码中,我们通过反射调用了私有方法`myMethod()`,并传入了字符串和整数参数。

java反射调用类的方法是什么 第1张


免责声明
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明。
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所
提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何
损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在
转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并白负版权等法律责任。

手机扫描二维码访问

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,1769人围观)

还没有评论,来说两句吧...

目录[+]