The Java Application Programming Interface – JDK 1.1 API – consists of 477 classes and 22 interfaces that are grouped into 25 packages, such as java.awt, java.lang, java.applet, java.util, java.io, and java.net.
These classes provide an interface that allows Java programs to interact with the system:
The java.lang package contains core Java classes – such as Object, String, System, Math, Number – and its subclasses – Character, Boolean, Byte, Short, Integer, Long, Float and Double. This package is implicitly imported to every Java program.
The java.awt package contains classes for drawing geometrical objects and for creating and managing the graphical user interface components – such as windows, frames, panels, menus, buttons, fonts, lists, and many others.
The java.awt.event package contains classes for handling events in graphics programming.
The java.applet package contains classes for supporting applets.
The java.io package contains classes for input and output streams and files.
The java.util package contains many utilities – such as date, system properties, vectors, hashing, and stacks.
The java.text package contains classes for formatting information, such as date and time, in a number of formatting styles that are based on a language, country, and culture.
The java.net package contains classes for supporting network communications.
The java.sql package contains classes for accessing relational databases.
The java.rmi package contains classes for supporting remote method invocation.