首页 > 代码库 > java基础:反射机制
java基础:反射机制
一:定义
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
二:使用场景
一般用在框架的封装上。hibernate、struts都是用反射机制实现的。
举例:JDBC中加载数据库驱动Class.forName("com.mysql.jdbc.Driver");
三:优点
反射机制的优点就是可以实现动态创建对象和编译,体现出很大的灵活性。
假如我们有两个程序员,一个程序员在写程序的时候,需要使用第二个程序员所写的类,但第二个程序员并没完成他所写的类。那么第一个程序员的代码能否通过编译呢?这是不能通过编译的。利用Java反射的机制,就可以让第一个程序员在没有得到第二个程序员所写的类的时候,来完成自身代码的编译。
四:常用方法
获得构造函数的方法
Constructor getConstructor(Class[] params)//根据指定参数获得public构造器
Constructor getDeclaredConstructor(Class[] params)//根据指定参数获得public和非public的构造器
获得类方法的方法
Method getMethod(String name, Class[] params),根据方法名,参数类型获得方法
Method getDeclaredMethod(String name, Class[] params)//根据方法名和参数类型,获得public和非public的方法
获得类中属性的方法
Field getField(String name)//根据变量名得到相应的public变量
Field getDeclaredField(String name)//根据方法名获得public和非public变量
五:代码举例
java基础:反射机制