一.书中概念及理念
1.无绪
书中表明的意思是说,API使用者不用完全了解(或深入了解)API的内部实现就能使用.
读者注:不用完整了解也意味则功能要模块化!
2.API的范围
API的范围不仅仅指代码,还包括环境变量、文本信息、协议、国际化等等。
3.永远没有完美的版本
需求永无止境且随着时间的变化而变化、因而API没有完美。
4.API版本兼容
1)源代码兼容
可理解为IDE编程完毕无异常
2)二进制兼容
java解析为class后无异常
3)功能兼容
实际使用后无异常
5.版本升级需注意的问题
1)API增加类时,有可能导致旧API使用者本地的类同名导致bug。
该处应该建议用户引用使用精确引用而非*引用
2)API增加方法时,有可能导致新老版本解决不一致
例子:
旧API:
public void toString(Object o)
新API新增方法:
pubic void toString(StringBuffer s)
则会造成API升级的时候并无编译异常,但是若方法功能不一致则会使得API使用者的原代码调用toString(StringBuffer)的地方出错.
6.基本类型真实赋值的巧用
当一个类使用public statis final int version =1时,若其他类调用这个version则是将1赋值而非属性引用,因而当这个类将version该变值,则调用的类值并未改变.该方法可以很好地进行版本判断.