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

# Interface Interfaces

All Superinterfaces:
  `ClassElementPREVIEW`, `ClassFileElementPREVIEW`

public sealed interface Interfaces extends ClassElementPREVIEW
`Interfaces` is a preview API of the Java platform.
Programs can only use `Interfaces` when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
Models the interfaces of a class. Delivered as a `ClassElement`PREVIEW when traversing a `ClassModel`PREVIEW.

Since:
  22

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<ClassEntryPREVIEW>`
  `interfaces()`
  Returns the interfaces of this class.
  `static InterfacesPREVIEW`
  `of(ClassEntryPREVIEW... interfaces)`
  Returns an InterfacesPREVIEW element.
  `static InterfacesPREVIEW`
  `of(List<ClassEntryPREVIEW> interfaces)`
  Returns an InterfacesPREVIEW element.
  `static InterfacesPREVIEW`
  `ofSymbols(ClassDesc... interfaces)`
  Returns an InterfacesPREVIEW element.
  `static InterfacesPREVIEW`
  `ofSymbols(List<ClassDesc> interfaces)`
  Returns an InterfacesPREVIEW element.

- ## Method Details

  - ### interfaces

    List<ClassEntryPREVIEW> interfaces()
    Returns the interfaces of this class.
    Returns:
      the interfaces of this class

  - ### of

    static InterfacesPREVIEW of(List<ClassEntryPREVIEW> interfaces)
    Returns an InterfacesPREVIEW element.
    Parameters:
      `interfaces` - the interfaces
    Returns:
      an InterfacesPREVIEW element

  - ### of

    static InterfacesPREVIEW of(ClassEntryPREVIEW... interfaces)
    Returns an InterfacesPREVIEW element.
    Parameters:
      `interfaces` - the interfaces
    Returns:
      an InterfacesPREVIEW element

  - ### ofSymbols

    static InterfacesPREVIEW ofSymbols(List<ClassDesc> interfaces)
    Returns an InterfacesPREVIEW element.
    Parameters:
      `interfaces` - the interfaces
    Returns:
      an InterfacesPREVIEW element

  - ### ofSymbols

    static InterfacesPREVIEW ofSymbols(ClassDesc... interfaces)
    Returns an InterfacesPREVIEW element.
    Parameters:
      `interfaces` - the interfaces
    Returns:
      an InterfacesPREVIEW element