Java反射的高级应用,模拟开发环境IDE动态搜索类成员以及方法,。。。。。
来源:互联网 发布:webstorm js代码提示 编辑:程序博客网 时间:2024/04/30 12:28
/*
*这个类可以根据 给定的一个Class字节码文件获取类的所有信息
* 编写者:xiaowei
* 这个例子仅仅作为反射的练手
* 喜欢的朋友继续完善
* 只是获得了所有访问权限但是没哟觉得而每个成员的权限类型
*
*/
import java.lang.reflect.*;
public final class FindClass
{
private String fieldList ; //成员列表
private String methodList ; //方法列表
private String className;//类的名字
private String showClassInfo; //输出信息
public void getClassField() throws Exception//获得类的字段
{
Field[] f=Class.forName(className).getDeclaredFields() ;
for(Field tem:f) //迭代for循环
{
tem.setAccessible(true) ;
this.fieldList+=(tem.getType().getName()+" "+ tem.getName()+";\n");
}
}
public void getClassMethod() throws Exception //获得类的方法
{
Method[] m=Class.forName(className).getDeclaredMethods() ;//获得类的所有定义方法
for(Method tem:m)
{
String prm="" ;//参数列表
tem.setAccessible(true) ;
Class[] pt=tem.getParameterTypes() ;
for(Class a:pt)
{
prm+=(a.getName()+",") ;
}
if(prm.equals("")==false)
prm=prm.substring(0,prm.length()-1);
this.methodList+=(tem.getReturnType().getName()+" "+tem.getName()+"(" +prm +");\n" ) ;
}
}
public void showClassInfo() //输出类的信息
{
System.out.println(this.fieldList);
System.out.println(this.methodList);
}
public void getClassInfo() throws Exception //获得类的信息
{
this.getClassField() ;
this.getClassMethod() ;
}
public void loadClassForname(String classname)throws Exception//加载类的名字
{
this.initClassInfo() ;
this.className=classname;
getClassInfo() ;
}
public void initClassInfo() //初始化
{
this.methodList="Method List:\n" ;
this.fieldList="Field List:\n" ;
this.className="" ;
this.showClassInfo="" ;
}
public static void main(String []args) throws Exception
{
FindClass cls =new FindClass() ;
cls.loadClassForname("java.lang.String"); //加载一个类
cls.showClassInfo() ;//显示类成员
}
}
class Me
{
int a ;
int b ;
void c(int a,int c)
{
}
void aa(int a)
{
}
}
- Java反射的高级应用,模拟开发环境IDE动态搜索类成员以及方法,。。。。。
- Java反射高级应用--利用反射调用类的私有方法修改私有方法值,以及替换Java的类成员数据
- C# 高级应用--反射动态调用类的成员范例 !
- C#高级应用-反射动态调用类的成员范例代码
- java开发之成员变量及成员方法的反射
- java反射的应用 构造方法 成员变量
- 类反射学习(二)JAVA开发框架底层思想演示,以及类反射的应用
- 反射 --- 成员方法Method类的反射
- 反射机制调用类的方法,或操作成员,以及反射中的数组对象
- Java 反射:Class类,动态加载类获取方法和成员变量构造信息,方法反射的基本操作,集合泛型的本质
- Java反射类工具获取成员的所有方法代码
- (JAVA自学笔记)成员方法的反射
- 【Java-Reflection】Class以及反射成员变量和方法
- Python开发环境Wing IDE的搜索工具简介
- java反射--高级开发必须懂的
- java开发之构造方法的反射应用
- Java反射-------构造方法的反射应用
- 关于Java集成开发环境(IDE)---NetBeans的安装,以及Helloworld编写
- .NET性能相关书籍
- 技嘉的型号区别
- zoj 1602 Multiplication Puzzle
- JAVA反射机制
- windows上的tomcat配置
- Java反射的高级应用,模拟开发环境IDE动态搜索类成员以及方法,。。。。。
- 求救SSH系统性能问题-数据库连接泄漏问题[由于帖子不能贴图片,暂时先把问题放这了]
- EJB3.0定时发送jms(发布/定阅)方式
- EJB与JAVA BEAN_J2EE的异步消息机制
- 小程序员对时间管理的一点观点阐述
- 22岁年终总结
- QT自定义窗口:
- QQ远程协助没动静?QQ版本有讲究
- 在Android Shell的根目录下创建文件夹