Superclass (Java SE 25 & JDK 25)
Description: declaration: module: java.base, package: java.lang.classfile, interface: Superclass
Keywords: java.lang.classfile.Superclass interface

# Interface Superclass

All Superinterfaces:
  `ClassElement, ClassFileElement`

public sealed interface Superclass extends ClassElement
Models the superclass (JVMS 4.1) of a class. A `Superclass` appears at most once in a `ClassModel`: it must be absent for module descriptors or the `Object` class, and must be present otherwise. A `ClassBuilder` sets the `Object` class as the superclass if the superclass is not supplied and the class to build is required to have a superclass.

All interfaces have `Object` as their superclass.

See Java Virtual Machine Specification:
  4.1 The `ClassFile` Structure
Since:
  24
See Also:
  - `ClassModel.superclass()`
  - `ClassBuilder.withSuperclass(ClassEntry)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Superclass`
  `of(ClassEntry superclassEntry)`
  Returns a Superclass element.
  `ClassEntry`
  `superclassEntry()`
  Returns the superclass.

- ## Method Details

  - ### superclassEntry

    ClassEntry superclassEntry()
    Returns the superclass.
    Returns:
      the superclass

  - ### of

    static Superclass of(ClassEntry superclassEntry)
    Returns a Superclass element.
    Parameters:
      `superclassEntry` - the superclass
    Returns:
      a Superclass element