1.单元测试
就是针对最小的功能单元方法,编写测试代码对其进行正确性测试
2.Junit单元测试框架
可以用来对方法进行测试,它是第三方公司开源出来的
优点:
可以灵活的编写测试代码,可以针对某个方法执行测试,也支持一键完成对全部方法的自动化测试,且各自独立
不需要程序员去分析测试的结果,会自动生产测试报告出来
测试方法必须是public void声明,必须用@Test测试
3.断言机制:
程序员可以通过预测业务方法的结果
一键自动化单元测试
Junit4单元测试框架的常用注解
在测试方法执行的方法,常用于:初始化资源
在测试方法执行后在执行的方法,常用于:释放资源
4.反射
反射就是,加载类,并允许以编程的方式解剖类中的各种成分(成员变量、方法、构造器等)。
反射第一步:加载类,获取类的字节码:CLass对象
反射的作用:适合做java的框架,基本上,主流的框架都会基于反射设计出一些通用的功能
5.反射获取class对象的三种方式:
Class c1=类名.class
调用Class提供方法:public static Class forName(String package)
Object提供的方法:public Class getClass(); Class c3=对象.getClass()
获取类构造器的作用:初始化一个对象返回
6.反射获取类的成员变量
7.获取类的成员方法
作用:依然是执行
8.注解:
就是java代码里的特殊标记,比如:@Override,@Test等
作用是:让其他程序根据注解信息来决定怎么执行该程序
注意:注解可以用在类上、构造器上、方法上、成员变量上、参数上、等位置
9.自定义注解:
就是自己定义注解
特殊属性名:value
如果注解中只有一个value属性,使用注解时,value名称可以不写
注解的本质是一个接口,java中所有注解都是继承了Annotation接口
@注解(….):其实就是一个实现类对象,实现类该注解以及Annotation接口
10.元注解
修饰注解的注释
11.注解的解析
就是判断类上、方法上、成员变量上是否存在注解,并把注解里的内容解析出来
如何解析注解:
指导思想:要解析谁上面的注解,就应该先拿到谁
比如要解析类上面的注解,则应该先获取类的class对象,再通过class对象解析其上面的注解
比如要解析成员方法上的注解,则应该获取到该成员方法的Method对象,再通过Method对象解析其上面的注解
Class、Method、Field、Constructor,都实现了AnnotatedElement接口,它们都有解析注解的能力
12.动态代理
对象的事情太多可以通过代理转移部分职责
对象有什么方法下被代理,代理就一定要有对应的方法
java.lang.reflect.Proxy类:提供了为对象产生代理的方法