文章目录Junit单元框架具体步骤常用方法反射获取类获取类的构造器获取类的成员变量获取类的成员方法应用场景注解自定义注解元注解注解的解析应用Junit单元框架具体步骤将Junit框架的jar包导入到项目中注意IDEA集成了Junit框架不需要我们自己手工导入了编写测试类、测试类方法注意测试方法必须是公共的无参数无返回值的非静态方法必须在测试方法上使用Test注解标注该方法是一个测试方法在测试方法中编写程序调用被测试的方法即可。选中测试方法右键选择“JUnit运行” 如果测试通过则是绿色如果测试失败则是红色常用方法反射获取类方式一Class c1 Class.forName(“全类名”);方式二Class c2 类名.class方式三Class c3 对象.getClass();获取类的构造器利用反射技术获取构造器对象的方式getDeclaredConstructors()getDeclaredConstructor (Class?… parameterTypes)反射得到的构造器可以做什么依然是创建对象的public newInstance(Object… initargs)如果是非public的构造器需要打开权限暴力反射然后再创建对象setAccessible(boolean)反射可以破坏封装性私有的也可以执行了。获取类的成员变量获取类中成员变量对象的方法getDeclaredFields()getDeclaredField (String name)反射得到成员变量可以做什么依然是在某个对象中取值和赋值。void set​(Object obj, Object value)Object get​(Object obj)如果某成员变量是非public的需要打开权限暴力反射然后再取值、赋值setAccessible(boolean)获取类的成员方法利用反射技术获取成员方法对象的方式getDeclaredMethods()getDeclaredMethod (String name, Class?… parameterTypes)反射得到成员方法可以做什么依然是在某个对象中触发该方法执行。Object invoke​(Object obj, Object… args)如果某成员方法是非public的需要打开权限暴力反射然后再触发执行setAccessible(boolean)应用场景绕过泛型编译成Class文件进入运行阶段的时候泛型会自动擦除。反射是作用在运行时的技术此时已经不存在泛型了。搭建框架需求给你任意一个对象在不清楚对象字段的情况可以可以把对象的字段名称和对应值存储到文件中去。分析定义一个方法可以接收任意类的对象。每次收到一个对象后需要解析这个对象的全部成员变量名称。这个对象可能是任意的那么怎么样才可以知道这个对象的全部成员变量名称呢使用反射获取对象的Class类对象然后获取全部成员变量信息。遍历成员变量信息然后提取本成员变量在对象中的具体值存入成员变量名称和值到文件中去即可。注解自定义注解Annotation: 注解的顶级接口注解都是Annotation类型的对象元注解注解注解的注解Target约束自定义注解可以标记的范围。Retention用来约束自定义注解的存活范围。注解的解析解析技巧注解在哪个成分上我们就先拿哪个成分对象。比如注解作用成员方法则要获得该成员方法对应的Method对象再来拿上面的注解比如注解作用在类上则要该类的Class对象再来拿上面的注解比如注解作用在成员变量上则要获得该成员变量对应的Field对象再来拿上面的注解应用模拟Junit框架