java.lang Class Hierarchy (Java SE 25 & JDK 25)
Description: tree: module: java.base, package: java.lang

# Hierarchy For Package java.lang

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.lang.Boolean (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
  - java.lang.Character (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
  - java.lang.Character.Subset
    - java.lang.Character.UnicodeBlock
  - java.lang.Class<T> (implements java.lang.reflect.AnnotatedElement, java.lang.constant.Constable, java.lang.reflect.GenericDeclaration, java.io.Serializable, java.lang.reflect.Type, java.lang.invoke.TypeDescriptor.OfField<F>)
  - java.lang.ClassLoader
  - java.lang.ClassValue<T>
  - java.lang.constant.DynamicConstantDesc<T> (implements java.lang.constant.ConstantDesc)
    - java.lang.Enum.EnumDesc<E>
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
  - java.lang.IO
  - java.lang.Math
  - java.lang.Module (implements java.lang.reflect.AnnotatedElement)
  - java.lang.ModuleLayer
  - java.lang.ModuleLayer.Controller
  - java.lang.Number (implements java.io.Serializable)
    - java.lang.Byte (implements java.lang.Comparable<T>, java.lang.constant.Constable)
    - java.lang.Double (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.lang.constant.ConstantDesc)
    - java.lang.Float (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.lang.constant.ConstantDesc)
    - java.lang.Integer (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.lang.constant.ConstantDesc)
    - java.lang.Long (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.lang.constant.ConstantDesc)
    - java.lang.Short (implements java.lang.Comparable<T>, java.lang.constant.Constable)
  - java.lang.Package (implements java.lang.reflect.AnnotatedElement)
  - java.security.Permission (implements java.security.Guard, java.io.Serializable)
    - java.security.BasicPermission (implements java.io.Serializable)
      - java.lang.RuntimePermission
  - java.lang.Process
  - java.lang.ProcessBuilder
  - java.lang.ProcessBuilder.Redirect
  - java.lang.Record
  - java.lang.Runtime
  - java.lang.Runtime.Version (implements java.lang.Comparable<T>)
  - java.lang.ScopedValue<T>
  - java.lang.ScopedValue.Carrier
  - java.lang.SecurityManager
  - java.lang.StackTraceElement (implements java.io.Serializable)
  - java.lang.StackWalker
  - java.lang.StrictMath
  - java.lang.String (implements java.lang.CharSequence, java.lang.Comparable<T>, java.lang.constant.Constable, java.lang.constant.ConstantDesc, java.io.Serializable)
  - java.lang.StringBuffer (implements java.lang.Appendable, java.lang.CharSequence, java.lang.Comparable<T>, java.io.Serializable)
  - java.lang.StringBuilder (implements java.lang.Appendable, java.lang.CharSequence, java.lang.Comparable<T>, java.io.Serializable)
  - java.lang.System
  - java.lang.System.LoggerFinder
  - java.lang.Thread (implements java.lang.Runnable)
  - java.lang.ThreadGroup (implements java.lang.Thread.UncaughtExceptionHandler)
  - java.lang.ThreadLocal<T>
    - java.lang.InheritableThreadLocal<T>
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Error
      - java.lang.AssertionError
      - java.lang.LinkageError
        - java.lang.BootstrapMethodError
        - java.lang.ClassCircularityError
        - java.lang.ClassFormatError
          - java.lang.UnsupportedClassVersionError
        - java.lang.ExceptionInInitializerError
        - java.lang.IncompatibleClassChangeError
          - java.lang.AbstractMethodError
          - java.lang.IllegalAccessError
          - java.lang.InstantiationError
          - java.lang.NoSuchFieldError
          - java.lang.NoSuchMethodError
        - java.lang.NoClassDefFoundError
        - java.lang.UnsatisfiedLinkError
        - java.lang.VerifyError
      - java.lang.ThreadDeath
      - java.lang.VirtualMachineError
        - java.lang.InternalError
        - java.lang.OutOfMemoryError
        - java.lang.StackOverflowError
        - java.lang.UnknownError
    - java.lang.Exception
      - java.lang.CloneNotSupportedException
      - java.lang.InterruptedException
      - java.lang.ReflectiveOperationException
        - java.lang.ClassNotFoundException
        - java.lang.IllegalAccessException
        - java.lang.InstantiationException
        - java.lang.NoSuchFieldException
        - java.lang.NoSuchMethodException
      - java.lang.RuntimeException
        - java.lang.ArithmeticException
        - java.lang.ArrayStoreException
        - java.lang.ClassCastException
        - java.lang.EnumConstantNotPresentException
        - java.lang.IllegalArgumentException
          - java.lang.IllegalThreadStateException
          - java.lang.NumberFormatException
        - java.lang.IllegalCallerException
        - java.lang.IllegalMonitorStateException
        - java.lang.IllegalStateException
        - java.lang.IndexOutOfBoundsException
          - java.lang.ArrayIndexOutOfBoundsException
          - java.lang.StringIndexOutOfBoundsException
        - java.lang.LayerInstantiationException
        - java.lang.MatchException
        - java.lang.NegativeArraySizeException
        - java.lang.NullPointerException
        - java.lang.SecurityException
        - java.lang.TypeNotPresentException
        - java.lang.UnsupportedOperationException
        - java.lang.WrongThreadException
  - java.lang.Void

## Interface Hierarchy

- java.lang.Appendable
- java.lang.AutoCloseable
- java.lang.CharSequence
- java.lang.Cloneable
- java.lang.Comparable<T>
  - java.lang.ProcessHandle
- java.lang.Iterable<T>
- java.lang.ProcessHandle.Info
- java.lang.Readable
- java.lang.Runnable
- java.lang.ScopedValue.CallableOp<T,X>
- java.lang.StableValuePREVIEW<T>
- java.lang.StackWalker.StackFrame
- java.lang.System.Logger
- java.lang.Thread.Builder
  - java.lang.Thread.Builder.OfPlatform
  - java.lang.Thread.Builder.OfVirtual
- java.lang.Thread.UncaughtExceptionHandler

## Annotation Interface Hierarchy

- java.lang.Deprecated (implements java.lang.annotation.Annotation)
- java.lang.FunctionalInterface (implements java.lang.annotation.Annotation)
- java.lang.Override (implements java.lang.annotation.Annotation)
- java.lang.SafeVarargs (implements java.lang.annotation.Annotation)
- java.lang.SuppressWarnings (implements java.lang.annotation.Annotation)

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - java.lang.Character.UnicodeScript
    - java.lang.ProcessBuilder.Redirect.Type
    - java.lang.StackWalker.Option
    - java.lang.System.Logger.Level
    - java.lang.Thread.State