反射
视为Java动态语言的关键,本身Java是偏静态的。
1、反射的三种方式
Class a = String.class;
Class b = person.getClass();
Class c = Class.forName(String classPath);//常用—》体现反射的动态性
2、创建类的对象的方式
1 new + 构造器
2 要创建Xxx类的对象,可以考虑:Xxx、Xxxs、XxxFactory、XxxBuilder类中查看是否有静态方法的存在。可以调用它的静态方法,创建Xxx对象。(其实把new + 构造器封装了)
3 反射
3、反射的应用:动态代理
动态代理与AOP
AOP代理的方法 动态代理增加的通用方法
回调目标对象的方法,动态代理增加的通用方法