首页 > 代码库 > java反射的应用
java反射的应用
使用java的反射功能,获得class类的各种信息
要分析的是student这个类,这个类的源码为
package com.j.test; /** * Created by brady on 15-1-15. */ public class Student { int age; String name; public int getDay( int yearDay ){ int aa = 0; aa = age*yearDay; return aa; } }
通过java的反射功能可以打印出student类里面的方法名,方法的参数等信息
package com.j.test; import java.lang.reflect.Field; import java.lang.reflect.Method; public class Operate { public static void main(String[] args){ Class s = Student.class; // 获得变量类型 Field[] f = s.getFields(); System.out.print("变量:"); for (Field fl : f){ System.out.print( fl.getClass().getName() ); } System.out.println(); // 获得对象的方法名 Method[] methods = s.getMethods(); for( Method m : methods ){ System.out.print("方法名:" + m.getName() + " "); // 获得参数名 Class[] p = m.getParameterTypes(); System.out.print("参数为:" ); for( Class pl : p ){ System.out.print(pl.getName() + " "); } // 获得方法返回值类型 Class rt = m.getReturnType(); System.out.print("返回值类型为:" + rt.getName() + " "); System.out.println(); } } }
可以运行查看到console的结果
变量: 方法名:getDay 参数为:int 返回值类型为:int 方法名:wait 参数为:long int 返回值类型为:void 方法名:wait 参数为:long 返回值类型为:void 方法名:wait 参数为:返回值类型为:void 方法名:equals 参数为:java.lang.Object 返回值类型为:boolean 方法名:toString 参数为:返回值类型为:java.lang.String 方法名:hashCode 参数为:返回值类型为:int 方法名:getClass 参数为:返回值类型为:java.lang.Class 方法名:notify 参数为:返回值类型为:void 方法名:notifyAll 参数为:返回值类型为:void
java反射的应用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。