要创建一个包,请为该包选择一个名称(命名约定将在下一节中讨论),并将带有该名称的package语句放在每个包含类型(类,接口,枚举和注解类型)的源文件的顶部。
package语句(例如package graphics;
)必须是源文件中的第一行。每个源文件中只能有一个package语句,它适用于文件中的所有类型。
注意: 如果将多个类型放在一个源文件中,则只能是public
,并且必须与源文件具有相同的名称。例如,您可以在文件Circle.java
中定义public class Circle
,在文件 Draggable.java
中定义public interface Draggable
,在文件Day.java
中定义public enum Day
,等等。
您可以将非公共类型与公共类型包含在同一文件中(强烈建议不要这样做,除非非公共类型很小并且与公共类型密切相关),但是只有公共类型可以从包外部访问。所有顶级非公共类型都将被包装为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
语句,则类型将以未命名的包结尾。通常,未命名的软件包仅适用于小型或临时应用程序,或者仅在您开始开发过程时使用。否则,类和接口属于命名包。