java中反射的基本使用方法
2016-06-19 22:22
344 查看
在java中,反射是个搞东西,可以使用一些不被公开的类函数,也是设计模式在使用过程中的重要方法,关于反射的介绍文章很多,下面结合自己的理解,总结下反射使用的步骤:
1)第一步,就是要获取你所要反射类的定义,这其实是一个Class类的实例,通过这个实例你就可以获取你要反射的类的定义,也就相当于我们在编写代码时所看到的类的结构,包括他有那些变量,那些函数,那些是公开的,那些是私有的等等,只不过这些都是在函数执行过程中可以看到的,这就给我们反射提供了基础,获取这个定义的方式很多,比如:
等等,通过这些方法就可以得到这个类的定义。
2)第二步,获取要使用的方法,
采用这类方法,获取你所要的方法的名字,注意,第一个参数是方法名,第二个参数是这个方法的参数类型列表。
3)第三步,使用invoke方法就可以调用这个方法了。
同理,第二个参数是该方法的输入参数类型列表。
1)第一步,就是要获取你所要反射类的定义,这其实是一个Class类的实例,通过这个实例你就可以获取你要反射的类的定义,也就相当于我们在编写代码时所看到的类的结构,包括他有那些变量,那些函数,那些是公开的,那些是私有的等等,只不过这些都是在函数执行过程中可以看到的,这就给我们反射提供了基础,获取这个定义的方式很多,比如:
Class<TelephonyManager> telephonyManagerClass = TelephonyManager.class; getClass(); Class.fromName();
等等,通过这些方法就可以得到这个类的定义。
2)第二步,获取要使用的方法,
Method getItelephonyMethod = telephonyManagerClass.getDeclaredMethod( "getITelephony", (Class[]) null);
采用这类方法,获取你所要的方法的名字,注意,第一个参数是方法名,第二个参数是这个方法的参数类型列表。
3)第三步,使用invoke方法就可以调用这个方法了。
iTelephony = (ITelephony) getItelephonyMethod.invoke(mTelephonyManager, (Object[]) null);
同理,第二个参数是该方法的输入参数类型列表。
相关文章推荐
- 20145225《Java程序设计》 2015—2016年学期课程总结
- 20145328 《Java程序设计》课程总结
- 20145330《Java程序设计》课程总结
- 20145312《Java程序设计》课程总结
- Opencv4Android分享:eclipse下opencv环境搭建
- Java 异常处理机制
- Java 高级—— IO 基础
- java一些概念
- Java中泛型的介绍与简单使用
- java课程总结
- Java 进阶—— super 和 this 的用法
- Java 线程 —— 基础篇
- Java 进阶——自动装箱和自动拆箱
- Java 三大特性之——继承
- Java 关键字—— static 与 final
- Java 进阶——单例模式
- 20145304 《Java程序设计》课程总结
- java混编
- Java 高级类(上) —— 抽象类和接口
- Java 高级类(下) —— 内部类和匿名类