day15-JUnit单元测试、反射、注解、动态代理、JDK8新特性
反射
Class对象的获取:
通过类名.class获得
通过对象名.getClass()方法获得
通过Class类的静态方法获得: static Class forName(“类全名”)
注解
使用注解:
没有属性的注解: 直接使用即可, @注解名 或者 @注解名()
有属性的注解:使用有属性的注解的时候一定要给注解属性赋值
给属性赋值的格式:
@注解名(属性名=属性值,属性名=属性值)
注意事项:
- 一旦注解有属性了,使用注解的时候,属性必须有值
- 若属性类型是一维数组的时候,当数组的值只有一个的时候可以省略{}
- 如果注解中只有一个属性,并且属性名为value,那么使用注解给注解属性赋值的时候,注解属性名value可以省略
- 注解属性可以有默认值 格式:属性类型 属性名() default 默认值;
元注解
JUnit规则
必须是公共的,无返回值的,没有参数,并且在方法上面写@Test注解
动态代理
动态代理:自动生成代理对象(王婆)
动态生成:执行的时候才知道代理对象,编译的时候不知道
静态代理:编译的时候就知道代理对象是王婆