反射
1.1 反射的概念
java的反射是采用反射的方式对java类的构成结构的透视和操作;【有点类似生物学的解剖】
java的反射是采用面向对象的方式对Java类的构成进行面向对象封装的;
解析:
反射的用途:一般用于底层架构的构建;
反射破坏了面向对象的思想;
反射中常用的工具类:
Class类:使用反射的思想对类的各个构成部分进行抽象封装的工具类;
通过Class类的实例可以获取Class所描述的这个类的实例对象;通过newInstance方法可以构建这个类的实例对象;
获取一个类的Class的方式有三种:
类名的.class
通过Class的静态方法forName获取
通过 实例对象的 getClass方法获取
这三种方式获得Class的实例都是一样的,是同一个;
Field类:是使用反射的思想对类的属性部分进行抽象封装的工具类;
Constructor类:是使用反射的思想对类的构造方法部分进行抽象封装的工具类;
使用构造方法类的实例对象使用newInstance方法获取被描述的这个类的实例对象;
Method类:是使用反射的思想对类的行为方法部分进行抽象封装的工具类;
注意掌握invoke的使用;