Cooperating with Other APIs
From APIDesign
Have You Ever Wondered...?
Did you ever write an application against one version of Java just to find out that it does not work with newer version? I guess everyone faced that situation, however did you ever faced that with your library? Did you change nothing in your library, yet your customers complain that their code using your library classes does not run or even compile with newer version of Java? I guess some of us have been in such situation. This is an inevitable impact caused not only by Java but by cooperating with any APIs created by others. Chapter 10 analyses why we have problems when working with foreign APIs and suggest strategies to deal with such situations.
Clarity of Modifiers
This chapter also discusses problem with access modifiers in Java and how to avoid it. See ClarityOfAccessModifiers page.