文档

Java™ 教程-Java Tutorials 中文版
创建一个包
Trail: Learning the Java Language
Lesson: Packages
Section: Creating and Using Packages

创建一个包

要创建包,请选择包的名称(命名规范将在下一节中讨论),并将带有该名称的 package 语句放在 每一个源码文件 的顶部,源文件包含要包含在包中的类型(类,接口,枚举和注解类型)。

package 语句(例如,package graphics;)必须是源文件中的第一行。每个源文件中只能有一个 package 语句,它适用于文件中的所有类型。


注意: 如果在单个源文件中放置多个类型,则只能有一个为 public,并且它必须与源文件具有相同的名称。例如,你可以在文件 Circle.java 中定义 public class Circle,在文件 Draggable.java 中定义 public interface Draggable ,在文件 Day.java 中定义 public enum Day等等。

你可以将非公共类型作为公共类型包含在同一文件中(强烈建议不要这样做,除非非公共类型很小且与公共类型密切相关),但只有公共类型可以从包外部访问。所有顶级非公共类型都将是 package private (包私有的)

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

//in the Draggable.java file
package graphics;
public interface Draggable {
    . . .
}

//in the Graphic.java file
package graphics;
public abstract class Graphic {
    . . .
}

//in the Circle.java file
package graphics;
public class Circle extends Graphic
    implements Draggable {
    . . .
}

//in the Rectangle.java file
package graphics;
public class Rectangle extends Graphic
    implements Draggable {
    . . .
}

//in the Point.java file
package graphics;
public class Point extends Graphic
    implements Draggable {
    . . .
}

//in the Line.java file
package graphics;
public class Line extends Graphic
    implements Draggable {
    . . .
}

如果不使用 package 语句,则类型最终会出现在未命名的包中。一般来说,一个未命名的包只适用于小型或临时应用程序,或者刚刚开始开发过程。否则,类和接口属于命名的包。


Previous page: Creating and Using Packages
Next page: Naming a Package