反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。
1.JDBC中,利用反射动态加载了数据库驱动程序
2.Web服务器中利用反射调用了Servlet的服务方法
3.很多框架都用到了反射机制(例如Spring)注入属性,调用方法
1.动态代理是运行时动态生成代理类
2.动态代理的应用有SpringAOP 数据查询,Java注解对象获取等
3.如何实现动态代理:JDK原生动态代理和 cglib 动态代理。JDK原生动态代理是基于接口实现的,而cglib是基于继承当前类的子类实现的
1.在运行时判断任意一个对象所属的类
2.在运行时构造任意一个类的对象
3.在运行时获取任意一个类所具有的成员变量和方法
4.在运行时调用任意一个对象的方法
powered by kaifamiao