为了使类型更易于查找和使用,避免命名冲突以及控制访问,程序员将相关类型的组捆绑到包(packages)中。


    定义: 一个是一组提供访问保护和名字空间管理的相关类型。请注意,类型是指类,接口,枚举和注解类型。枚举和注解类型分别是类和接口的特殊类型,因此本课中通常将类型简称为类和接口


    Java平台的类型是各种包的成员,这些包按功能捆绑了类:基本类在中java.lang,用于读写(输入和输出)的类在中java.io,依此类推。您也可以将类型放入包中。
    假设您编写了一组代表图形对象的类,例如圆形,矩形,直线和点。您还可以编写一个接口Draggable,这些类可以实现用鼠标拖动它们。

    1. //in the Draggable.java file
    2. public interface Draggable {
    3. ...
    4. }
    5. //in the Graphic.java file
    6. public abstract class Graphic {
    7. ...
    8. }
    9. //in the Circle.java file
    10. public class Circle extends Graphic
    11. implements Draggable {
    12. . . .
    13. }
    14. //in the Rectangle.java file
    15. public class Rectangle extends Graphic
    16. implements Draggable {
    17. . . .
    18. }
    19. //in the Point.java file
    20. public class Point extends Graphic
    21. implements Draggable {
    22. . . .
    23. }
    24. //in the Line.java file
    25. public class Line extends Graphic
    26. implements Draggable {
    27. . . .
    28. }

    出于以下几个原因,应将这些类和接口捆绑在包中:

    • 您和其他程序员可以轻松确定这些类型是否相关。
    • 您和其他程序员知道在哪里可以找到可以提供图形相关功能的类型。
    • 您的类型的名称不会与其他软件包中的类型名称冲突,因为该软件包会创建一个新的命名空间。
    • 您可以允许包内的类型彼此不受限制地访问,但仍然限制包外的类型的访问。