要创建一个包,请为该包选择一个名称(命名约定将在下一节中讨论),并将带有该名称的package语句放在每个包含类型(类,接口,枚举和注解类型)的源文件的顶部。
    package语句(例如package graphics;)必须是源文件中的第一行。每个源文件中只能有一个package语句,它适用于文件中的所有类型。


    注意: 如果将多个类型放在一个源文件中,则只能是public,并且必须与源文件具有相同的名称。例如,您可以在文件Circle.java中定义public class Circle,在文件 Draggable.java中定义public interface Draggable,在文件Day.java中定义public enum Day,等等。
    您可以将非公共类型与公共类型包含在同一文件中(强烈建议不要这样做,除非非公共类型很小并且与公共类型密切相关),但是只有公共类型可以从包外部访问。所有顶级非公共类型都将被包装为private


    如果将上一节中列出的图形界面和类放在名为的程序包中graphics,则将需要六个源文件,如下所示:

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

    如果不使用package语句,则类型将以未命名的包结尾。通常,未命名的软件包仅适用于小型或临时应用程序,或者仅在您开始开发过程时使用。否则,类和接口属于命名包。