标签:虚拟 json解析 bsp 创建 动态 XML java反射 类信息 它的
Java反射是指运行时获取类信息,进而在运行时动态构造对象、调用对象方法及修改对象属性的机制。百度百科的定义:“JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
一、反射的用途
Java的反射机制可以做3件事:运行时创建对象、运行时调用方法、运行时读写属性。进而实现以下功能:
调用一些私有方法,实现黑科技。比如双卡短信发送、设置状态栏颜色、自动挂电话等。
实现序列化与反序列化,比如PO的ORM,Json解析等。
实现跨平台兼容,比如JDK中的SocketImpl的实现。
通过xml或注解,实现依赖注入(DI),注解处理,动态代理,单元测试等功能。比如Retrofit、Spring或者Dagger。
二、Java反射的优缺点
优点:
(1)能够运行时动态获取类的实例,大大提高系统的灵活性和扩展性。
(2)与Java动态编译相结合,可以实现无比强大的功能
缺点:
(1)使用反射的性能较低
(2)使用反射相对来说不安全
(3)破坏了类的封装性,可以通过反射获取这个类的私有方法和属性
三、Java反射的用法
主要反射API,用来生成在当前JAVA虚拟机中的类、接口或者对象的信息。
●Class类:反射的核心类,可以获取类的属性,方法等内容信息。
●Field类:Java.lang.reflect.表示类的属性,可以获取和设置类的中属性值。
●Method类:Java.lang.reflect。表示类的方法,它可以用来获取类中方法的信息或者执行方法
Construcor类:Java.lang.reflect。表示类的构造方法。
使用步骤:
●获得想操作类的Java.lang.Class对象
●调用Class的方法
●使用反射API来操作这些信息
标签:虚拟 json解析 bsp 创建 动态 XML java反射 类信息 它的
原文地址:http://www.cnblogs.com/doit8791/p/7406994.html