The package java.lang contains classes and interfaces that are essential to the Java language. These are: Object, superclass of all classes in Java. Thread, the class that controls each thread in a multithreaded program. Throwable, the superclass of all error and exception classes in Java. Classes that encapsulate the primitive data types in Java. Classes for accessing system resources and other low-level entities. Math, a class that provides standard mathematical methods. String, the class that represents strings. Because the classes in the java.lang package are so essential, the java.lang package is implicitly imported by every Java source file. In other words, you can refer to all of the classes and interfaces in java.lang using their simple names.