Each package defines a number of classes, interfaces, exceptions,
and errors. For example, in Java 1.1 the java.lang
package contains these:
CloneableRunnableBooleanByteCharacterClassClassLoaderCompilerDoubleFloatIntegerLongMathNumberObjectProcessRuntimeSecurityManagerShortStringStringBufferSystemThreadThreadGroupThrowableVoidArithmeticExceptionArrayIndexOutOfBoundsExceptionArrayStoreExceptionClassCastExceptionClassNotFoundExceptionCloneNotSupportedExceptionExceptionIllegalAccessExceptionIllegalArgumentExceptionIllegalMonitorStateExceptionIllegalStateExceptionIllegalThreadStateExceptionIndexOutOfBoundsExceptionInstantiationExceptionInterruptedExceptionNegativeArraySizeExceptionNoSuchFieldExceptionNoSuchMethodExceptionNullPointerExceptionNumberFormatExceptionRuntimeExceptionSecurityExceptionStringIndexOutOfBoundsExceptionAbstractMethodErrorClassCircularityErrorClassFormatErrorErrorExceptionInInitializerErrorIllegalAccessErrorIncompatibleClassChangeErrorInstantiationErrorInternalErrorLinkageErrorNoClassDefFoundErrorNoSuchFieldErrorNoSuchMethodErrorOutOfMemoryErrorStackOverflowErrorThreadDeathUnknownErrorUnsatisfiedLinkErrorVerifyErrorVirtualMachineError