参考:http://www.jianshu.com/p/030aeef33311
一、为什么Retrofit2.0要用接口的形式传入访问的API。
例如:
GitService api=RetrofitClient.create(GitService .class);
1.这里的GitService 是负责定义访问的接口的一个接口类,通过create方法为GitService创建了一个实现类,这是因为create方法中采用动态代理的方式。
2.Proxy.newInstance负责给接口对象创建具体的实现类
3.所以通过动态代理创建的对象,调用的方法都会被InvocationHandler劫持,在invoke中对方法的结果做处理。