为了使类型更容易找到和使用,避免命名冲突,以及控制访问,程序员将相关类型类编排到包中。
定义:包是一组提供访问保护和名称空间管理的相关类型。注意,类型指的是类、接口、枚举和注释类型。枚举和注释类型分别是特殊类型的类和接口,因此在本文中,类型通常被简单地称为类和接口。
作为Java平台一部分的类是按功能编排类的各种包的成员:
在Java基础类中,用于读写(输入和输出)的类是用java编写的,IO,等等。您也可以将类型放入包中。
假设您编写了一组表示图形对象(如圆、矩形、线和点)的类。
//in the Draggable.java file
public interface Draggable {
...
}
//in the Graphic.java file
public abstract class Graphic {
...
}
//in the Circle.java file
public class Circle extends Graphic
implements Draggable {
. . .
}
//in the Rectangle.java file
public class Rectangle extends Graphic
implements Draggable {
. . .
}
//in the Point.java file
public class Point extends Graphic
implements Draggable {
. . .
}
//in the Line.java file
public class Line extends Graphic
implements Draggable {
. . .
}
你应该将这些类和接口编排在一个包中,原因如下:
您和其他程序员可以轻松地确定这些类型是相关的。
您和其他程序员知道在哪里可以找到可以提供图形相关功能的类型。
您的类型名称不会与其他包中的类型名称冲突,因为包创建了一个新的命名空间。
可以允许包内的类型不受限制地相互访问,但仍然限制包外类型的访问。