API是您的应用程序/库的规范。例如,这是Java 6 API。
包是应用程序的类,模块和功能到名称空间的逻辑分组。通常,包通过jar文件分发(jar将是包的集合)。例如,这是一个java 6 package。
我怀疑你因为this之类的东西而感到困惑。这是API并包含0代码。它描述了如何布置包,但它们确实是不同的。
包是您组织和分组课程的方式。例如,java.awt.datatransfer.Clipboard有一个java.awt.datatransfer包。
API只是一个规范。它描述了应该如何工作。
希望有所帮助。