Packages and the Java Namespace
A package is a named collection of classes, interfaces, and other reference types. Packages serve to group related classes and define a namespace for the classes they contain.
The core classes of the Java platform are in packages whose names
begin with java
. For example, the most fundamental
classes of the language are in the package
java.lang
. Various utility classes are in
java.util
. Classes for input and output are in
java.io
, and classes for networking are in
java.net
. Some of these packages contain
subpackages, such as java.lang.reflect
and
java.util.regex
. Extensions to the
Java platform that have been
standardized by Sun typically have package names that begin with
javax
. Some of these extensions, such as
javax.swing
and its myriad subpackages, were later
adopted into the core platform itself. Finally, the Java platform
also includes several "endorsed standards,”
which have packages named after the standards body that created them,
such as org.w3c
and org.omg
.
Every class has both a
simple name, which is the name given to it in its definition, and a
fully qualified name, which includes the name of the package of which
it is a part. The String
class, for example, is
part of the java.lang
package, so its fully
qualified name is java.lang.String
.
This section explains how to place your own classes and interfaces into a package and how to choose a package name that won’t conflict with anyone else’s package name. Next, it explains how to selectively ...
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.