java反射机制

Method[] methods=c.getDeclaredMethods();获取所有的方法
Method method=c.getDeclaredMethod("f方法名",参数类型.class,......);获取某一个具体的方法;
Object obj=method.getReturnType();
获取该方法的返回类型;
Object [] params=method.getParameTypes();获取该方法传入的参数;
Method[] methodConstructors=c.getDeclaredConstructors();获取所有的构造方法;
Method constructors=c.getDeclaredConstructor(参数类型.class,....);获取特定的构造方法
Object result=method.invoke(c,要执行方法的参数,。。。。);执行该方法,返回执行的结果

Method[] methods=c.getDeclaredMethods();获取所有的方法
Method method=c.getDeclaredMethod("f方法名",参数类型.class,......);获取某一个具体的方法;
Object obj=method.getReturnType();
获取该方法的返回类型;
Object [] params=method.getParameTypes();获取该方法传入的参数;
Method[] methodConstructors=c.getDeclaredConstructors();获取所有的构造方法;
Method constructors=c.getDeclaredConstructor(参数类型.class,....);获取特定的构造方法
Object result=method.invoke(c,要执行方法的参数,。。。。);执行该方法,返回执行的结果
c.getSuperclass();获取某类的父类;
c.getInterfaces();获取某类实现的接口;

java反射机制是程序在运行时动态加载类的属性和方法

有三种加载类的方法

第一种
Class c1=Class.forName("类名");
第二种
Class c2=类名.class;
第三种
Class c3=对象名.getClass();
获取类中的一些属性

Object obj=c.newInstance();创建一个实例,调用的是c中的无参构造方法
Field[] fs=c.getDeclareFields();获取clei中所有的属性
Fields f= c.getDeclareFields("属性名");获取某个属性
f.setAccessible(true);打破封装,使该属性具有可操作性;
f.set(对象名,“属性值”);给该对象设置属性

获取类中的方法

Method[] methods=c.getDeclaredMethods();获取所有的方法
Method method=c.getDeclaredMethod("f方法名",参数类型.class,......);获取某一个具体的方法;
Object obj=method.getReturnType();
获取该方法的返回类型;
Object [] params=method.getParameTypes();获取该方法传入的参数;
Method[] methodConstructors=c.getDeclaredConstructors();获取所有的构造方法;
Method constructors=c.getDeclaredConstructor(参数类型.class,....);获取特定的构造方法
Object result=method.invoke(c,要执行方法的参数,。。。。);执行该方法,返回执行的结果
c.getSuperclass();获取某类的父类
c.getInterfaces();获取某类实现的接口



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值