
Home
|


JAVA PROGRAMMING
Creating a Package
To create a package, you simply put a class or
interface in it. To do this, you put a package statement at the top of the
source file in which the class or interface is defined. For example, the
following code appears in the source file Circle.java and puts the Circle
class in the graphics package:
package graphics;
public class Circle extends Graphic implements Draggable {
. . .
}
The Circle class is a public member of the graphics package.
You must include a package statement at the top of every source file that
defines a class or interface that is to be a member of the graphics
package. So you would also include the statement in Rectangle.java and so
on:
package graphics;
public class Rectangle extends Graphic implements Draggable {
. . .
}
The scope of the package statement is the entire source file, so all
classes and interfaces defined in Circle.java and Rectangle.java are also
members of the graphics package. If you put multiple classes in a single
source file, only one may be declared public and it must share the name of
the source file's basename. Only public package members are accessible
from outside the package.
Note: Some compilers might allow more
than one public file per .java file. However, we recommend that you use
the one-public-class-per-file convention, since it makes public classes
easier to find and works for all compilers.
If you do not use a package statement, your class or interface ends up in
the default package, which is a package that has no name. Generally
speaking, the default package is only for small or temporary applications
or when you are just beginning development. Otherwise, classes and
interfaces belong in named packages.
Naming a Package
With programmers all over the world writing Java
classes and interfaces, it is conceivable and even likely that two
programmers will use the same name for two different classes. In fact, the
previous example does just that: It defines a Rectangle class when there
is already a Rectangle class in the java.awt package. Yet, the compiler
allows both classes to have the same name. Why? Because they are in
different packages and the actual name of each class includes the package
name. That is, the name of the Rectangle class in the graphics package is
really graphics.Rectangle, and the name of the Rectangle class in the
java.awt package is really java.awt.Rectangle.
|
 |