admin 管理员组文章数量: 887021
2024年2月28日发(作者:为什么要用mvc模式)
java 反射执行方法
Java射是Java言中比较重要的技术,可以帮助开发人员在不了解具体类型的情况下,对对象进行操作。本文将重点讲解 Java射执行方法的常用方法。
一、Java射的概念
反射(Reflection),是指程序可以访问、检测和修改它本身状态或行为的一种能力。它有助于完成自省(introspection),自描述(introspection)和自配置(configuration)的许多任务。在 Java 中,反射是指在运行时,分析和使用类、接口、字段、方法等等的能力。
反射机制是 Java言中一种强有力的工具,它允许程序在运行时,可以运行任意对象,调用任意方法,判断任意类型,构造任意类型实例,在程序中可以实现动态加载和动态链接的功能。
二、Java射执行方法
Java射支持执行类中的方法,执行这些方法前需要获取 Method象,方法可以通过 Method象执行。下面我们将介绍Java射执行方法常用的方法:
1. 使用 laredMethods()法获取类中所有方法,然后再根据需要调用方法;
2. 使用 hod()法获取指定方法;
3. 使用 laredMethod()法获取类中指定方法;
4. 使用 structor()法获取构造器,再调用
newInstance()法;
- 1 -
5. 使用 e()法动态加载类,再调用 newInstance()法;
6. 使用 tance()法创建类的实例,再调用实例的方法。
三、Java射执行方法的实例
下面我们给出Tast类的定义:
public class Test {
public void sayHello() {
n(Hello!);
}
public void sayBye() {
n(Bye!);
}
}
1. 使用 laredMethods()法获取类中所有方法,然后再根据需要调用方法:
//取Test类
Class clazz = e(Test
//取Test类中所有方法
Method[] methods = laredMethods();
//历方法
for (Method method : methods){
- 2 -
//印方法名
n(e());
//取方法名
String methodName = e();
//据需要执行方法
if(sayHelloequals(methodName)){
//用sayHello()方法
(tance());
}
if(sayByeequals(methodName)){
//用sayBye()方法
(tance());
}
}
2. 使用 hod()法获取指定方法:
//取Test类
Class clazz = e(Test
// 使用类加载器加载Test类
ClassLoader loader = ssLoader();
//取sayHello()方法
Method method = hod(sayHello loader);
//行sayHello()方法
- 3 -
(tance());
3. 使用 laredMethod()法获取类中指定方法:
//取Test类
Class clazz = e(Test
//取sayBye()方法
Method method = laredMethod(sayBye
//行sayBye()方法
(tance());
4. 使用 structor()法获取构造器,再调用
newInstance()法:
//取Test类
Class clazz = e(Test
//取Test类的构造函数
Constructor constructor = structor();
//过构造函数实例化对象
Object obj = tance();
//用sayHello()方法
Method method = laredMethod(sayHello
//行sayHello()方法
(obj);
5. 使用 e()法动态加载类,再调用 newInstance()法:
- 4 -
//过e()方法动态加载Test类
Class clazz = e(Test
//过newInstance()获取Test类实例对象
Object obj = tance();
//用sayBye()方法
Method method = laredMethod(sayBye
//行sayBye()方法
(obj);
6. 使用 tance()法创建类的实例,再调用实例的方法:
//取Test类
Class clazz = e(Test
//过newInstance()获取Test类实例对象
Object obj = tance();
//用sayHello()方法
Method method = laredMethod(sayHello
//行sayHello()方法
(obj);
四、总结
本文介绍了Java射执行方法的常用方法,以及使用Java射执行方法的实例。Java射机制是一种强有力的工具,可以帮助开发人员在不了解具体类型的情况下,对对象进行操作,实现动态加载和动态 - 5 -
链接等功能。但是,反射机制往往会拖慢程序执行效率,因此,在使用反射时应慎重,尽量避免反射的使用。
- 6 -
版权声明:本文标题:java 反射执行方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1709053307h537191.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论