java反射中getMethod getDeclaredMethod .
来源:互联网 发布:免费下载安装淘宝网 编辑:程序博客网 时间:2024/06/05 06:19
原文地址:http://www.cnblogs.com/jianjianjiao/articles/1853409.html
目的:根据类名、方法名以及方法对应的参数,获取方法,并实现方法的调用
1、getDeclaredMethods和getMethods的区别
Method
getDeclaredMethod(String name, Class... parameterTypes)
Returns a
Method
object that reflects the specified declared method of the class or interface represented by this Class
object. Method[]
getDeclaredMethods()
Returns an array of
Method
objects reflecting all the methods declared by the class or interface represented by this Class
object. Method
getMethod(String name, Class... parameterTypes)
Returns a
Method
object that reflects the specified public member method of the class or interface represented by this Class
object. Method[]
getMethods()
Returns an array containing
Method
objects reflecting all thepublic member methods of the class or interface represented by this Class
object, including those declared by the class or interface and those inherited from superclasses and superinterfaces.由此可见:
getDeclaredMethod*()获取的是类自身声明的所有方法,包含public、protected和private方法。
getMethod*()获取的是类的所有共有方法,这就包括自身的所有public方法,和从基类继承的、从接口实现的所有public方法。
注:
1、用反射调用私有方法,必须用getDeclaredMethod方法,同时注意调用私有方法和改变私有变量一样,必须在调用前设置 method.setAccessible(true),这就是传说中的暴力反射吧!
2、另外注意的一点如果是boolean型的参数,得到方法的时候需要用boolean.class或者Boolean.TYPE,不能用Boolean.class。
3、得到方法的时候可以用Method.toString()方法,打印出函数的完整原型,如:
protected java.lang.String com.unity3d.player.UnityPlayer.getCPUType()
- java反射中getMethod getDeclaredMethod
- java反射中getMethod getDeclaredMethod .
- Java 反射机制中 getMethod()和getDeclaredMethod()区别
- Java 反射机制中 getMethod()和getDeclaredMethod()区别
- 反射中的getDeclaredMethod和getMethod
- java反射机制——getMethod/getField与getDeclaredMethod/getDeclaredField区别
- Java反射代码 得到某类的所有字段 getFields()与getDeclaredFields()区别 getMethod()和getDeclaredMethod()区别
- Java反射代码 得到某类的所有字段 getFields()与getDeclaredFields()区别 getMethod()和getDeclaredMethod()区别
- java 反射机制 之 getMethod获取公有方法 getDeclaredMethod获取所有方法 然后invoke执行其所有方法
- 【JAVA】【反射】JAVA 中 getMethod()和invoke()方法应用
- Java 反射机制中 getMethod()和getDeclaredField()区别
- Java 反射机制中 getMethod()和getDeclaredField()区别
- Java 反射机制中 getMethod()和getDeclaredField()区别
- Java 反射机制中 getMethod()和getDeclaredField()区别
- getDeclaredMethod()和getMethod()的区别
- getDeclaredMethod()和getMethod()的区别
- getDeclaredMethod()和getMethod()的区别
- getDeclaredMethod 和 getMethod 的区别
- 11G RAC 裸设备表空间迁移到ASM
- 领域模型驱动设计(Domain Driven Design)入门概述
- Dissecting the Windows Kernel - 关于ObReferenceObjectByHandle中对句柄的处理
- 使用命令行对APK签名(已有签名文件)
- [MySQL] 索引与性能(2)- 聚簇索引
- java反射中getMethod getDeclaredMethod .
- UIAlertView用法
- Piotr Dollar(皮洽-多拉)同学的论文Peestrain Detection:An Evaluation of the State of the Art读后记录
- Block语法的使用
- 程序员练级攻略
- PHP执行系统命令 exec,system,passthru,popen
- [好用的小控件] 自带清除的EditText
- 韩顺平网页设计第三十一三十二讲
- Android OpenGL ES 教程