Contents | Prev | Next | Index

CHAPTER 20

The Package java.lang


The java.lang package contains classes that are fundamental to the design of the Java language. The most important classes are Object, which is the root of the class hierarchy, and Class, instances of which represent classes at run time.

Frequently it is necessary to represent a value of primitive type as if it were an object. The wrapper classes Boolean, Character, Integer, Long, Float, and Double serve this purpose. An object of type Double, for example, contains a field whose type is double, representing that value in such a way that a reference to it can be stored in a variable of reference type. These classes also provide a number of methods for converting among primitive values, as well as supporting such standard methods as equals and hashCode.

The class Math provides commonly used mathematical functions such as sine, cosine, and square root. The classes String and StringBuffer similarly provide commonly used operations on character strings.

Classes ClassLoader, Process, Runtime, SecurityManager, and System provide "system operations" that manage the dynamic loading of classes, creation of external processes, host environment inquiries such as the time of day, and enforcement of security policies.

Class Throwable encompasses objects that may be thrown by the throw statement (§14.16). Subclasses of Throwable represent errors and exceptions.

The hierarchy of classes defined in package java.lang is as follows.

Object												§20.1	

	interface Cloneable												§20.2

	Class												§20.3

	Boolean												§20.4

	Character												§20.5

	Number												§20.6

		Integer												§20.7

		Long												§20.8

		Float												§20.9

		Double												§20.10

	Math												§20.11

	String												§20.12

	StringBuffer												§20.13

	ClassLoader												§20.14

	Process												§20.15

	Runtime												§20.16

	SecurityManager												§20.17

	System												§20.18

	interface Runnable												§20.19

	Thread												§20.20

	ThreadGroup												§20.21

	Throwable												§20.22

		Error

			LinkageError

				ClassCircularityError

				ClassFormatError

				ExceptionInInitializerError

				IncompatibleClassChangeError

					AbstractMethodError

					IllegalAccessError

					InstantiationError

					NoSuchFieldError

					NoSuchMethodError

				NoClassDefFoundError

				UnsatisfiedLinkError

				VerifyError

			VirtualMachineError

				InternalError

				OutOfMemoryError

				StackOverflowError

				UnknownError

			ThreadDeath

		Exception

			ClassNotFoundException

			CloneNotSupportedException

			IllegalAccessException

			InstantiationException

			InterruptedException

			RuntimeException

				ArithmeticException

				ArrayStoreException

				ClassCastException

				IllegalArgumentException

					IllegalThreadStateException

					NumberFormatException

				IllegalMonitorStateException

				IndexOutOfBoundsException

				NegativeArraySizeException

				NullPointerException

				SecurityException


Contents | Prev | Next | Index

Java Language Specification (HTML generated by Suzette Pelouch on February 24, 1998)
Copyright © 1996 Sun Microsystems, Inc. All rights reserved
Please send any comments or corrections to doug.kramer@sun.com


Banner.Novgorod.Ru