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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access