day15-JUnit单元测试、反射、注解、动态代理、JDK8新特性

反射
Class对象的获取:
通过类名.class获得
通过对象名.getClass()方法获得
通过Class类的静态方法获得: static Class forName(“类全名”)
day15-JUnit单元测试、反射、注解、动态代理、JDK8新特性
day15-JUnit单元测试、反射、注解、动态代理、JDK8新特性
注解
使用注解:
​ 没有属性的注解: 直接使用即可, @注解名 或者 @注解名()
​ 有属性的注解:使用有属性的注解的时候一定要给注解属性赋值
​ 给属性赋值的格式:
​ @注解名(属性名=属性值,属性名=属性值)

注意事项:

  • 一旦注解有属性了,使用注解的时候,属性必须有值
    • 若属性类型是一维数组的时候,当数组的值只有一个的时候可以省略{}
    • 如果注解中只有一个属性,并且属性名为value,那么使用注解给注解属性赋值的时候,注解属性名value可以省略
    • 注解属性可以有默认值 格式:属性类型 属性名() default 默认值;

元注解
day15-JUnit单元测试、反射、注解、动态代理、JDK8新特性

JUnit规则

必须是公共的,无返回值的,没有参数,并且在方法上面写@Test注解

动态代理
动态代理:自动生成代理对象(王婆)

动态生成:执行的时候才知道代理对象,编译的时候不知道

静态代理:编译的时候就知道代理对象是王婆
day15-JUnit单元测试、反射、注解、动态代理、JDK8新特性