四 Struts2 反射实现
2024-10-12 12:31:14
package com.myreflect; import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method; public class ReflectDemo {
public static void main(String[] args) throws Exception {
//1.假设我们已经解析struts.xml拿到com.action.LoginAction字符串
String path = "com.action.LoginAction";
//2.用反射原理来构造此类对象
Class c = Class.forName(path);
//获取所有属性
Field[] fs = c.getFields();
Field[] fs2 = c.getDeclaredFields();
for (int i = 0; i < fs.length; i++) {
System.out.println(fs[i].getName());
}
for (int i = 0; i < fs2.length; i++) {
System.out.println("===="+fs2[i].getName());
} //获取所有方法
Method[] ms = c.getDeclaredMethods();
for (int i = 0; i < ms.length; i++) {
System.out.println("方法名="+ms[i].getName());
} //怎么执行方法
//第一步:构造类的对象,获取类型的构造方法
//c.getConstructor(new Class[]{String.class,Integer.class});
Constructor cons = c.getConstructor(new Class[]{});
//通过构造器构造实例
//cons.newInstance(new Object[]{"admin",123});
Object obj = cons.newInstance(new Object[]{}); //2.执行方法 获取类型中execute方法
Method exe = c.getDeclaredMethod("execute", new Class[]{});
Object result = exe.invoke(obj, new Object[]{}); System.out.println("test方法执行的返回结果是:"+result);
} public ReflectDemo() { } public ReflectDemo(String name,int num) { } //写一个类,写一个方法完成两个数求幂值 x的n次方值
//用反射来调用此方法
}
最新文章
- Java初学者笔记
- 关于int,integer初始值问题
- idea jrebel6 安装,破解
- hive中行转换成列
- 看看你的正则行不行——正则优化一般的json字符串
- 他们在军训,我在搞 OI(Ending)
- Effective C++ -----条款37:绝不重新定义继承而来的缺省参数值
- input按钮上传按钮样式
- 第12周&;第13周
- [工具类]文件或文件夹xx已存在,则重命名为xx(n)
- R语言的日期运算
- DataGridView 列大写、列只能输入数字 分类: DataGridView 2014-12-07 08:40 332人阅读 评论(0) 收藏
- RESTful互联网框架
- 每天一个Linux命令—— crontab
- 自己定义定时器(Timer)
- 微软消息队列-MicroSoft Message Queue(MSMQ)队列的C#使用
- Android签名文件转化为pk8和pem来对apk重签名
- with check(转)
- centos实现两种秒级任务的简单方法
- Python调用7zip命令实现文件批量解压
热门文章
- SpringCloud Ribbon的分析(二)
- 你真的了解 i++, ++i 和 i+++++i 以及 i+++i++ 吗?
- springboot+springcloud集成jar
- Docker Compose 引用环境变量
- [三] java虚拟机 JVM字节码 指令集 bytecode 操作码 指令分类用法 助记符
- Java Pom.xml 详解
- Kotlin入门学习笔记
- windows安装elasticsearch
- CentOS下RabbitMq高可用集群环境搭建
- jsp基础语言-jsp动作