Module java.base
Package java.lang.classfile

# Interface Interfaces

≠
public abstract sealed interface Interfaces
extends java.lang.classfile.ClassElement
permits jdk.internal.classfile.impl.InterfacesImpl
Comparing jdk-master and valhalla-csr-open

All Superinterfaces:
  `ClassElementPREVIEW , ClassFileElement`

public sealed interface Interfaces extends ClassElementPREVIEW
Models the interfaces (JVMS §4.1) of a class. An `Interfaces` appears at most once in a `ClassModel` : if it does not appear, the class has no interfaces, which is equivalent to an `Interfaces` whose `interfaces()` returns an empty list. A `ClassBuilder` sets the interfaces to an empty list if the interfaces is not supplied.

See Java Virtual Machine Specification:
  4.1 The `ClassFile` Structure
Since:
  24
See Also:
  - `ClassModel.interfaces()`
  - `ClassBuilder.withInterfaces(List)`

## Methods

- =
  public abstract java.util.List<java.lang.classfile.constantpool.ClassEntry> interfaces()
- =
  public static java.lang.classfile.Interfaces of(java.lang.classfile.constantpool.ClassEntry[] arg0)
- =
  public static java.lang.classfile.Interfaces of(java.util.List<java.lang.classfile.constantpool.ClassEntry> arg0)
- =
  public static java.lang.classfile.Interfaces ofSymbols(java.lang.constant.ClassDesc[] arg0)
- =
  public static java.lang.classfile.Interfaces ofSymbols(java.util.List<java.lang.constant.ClassDesc> arg0)

## Summary

Differences
| Elements | Comments | Descriptions | Total
Added | Changed | Removed | Added | Changed | Removed | Added | Changed | Removed
--- | --- | --- | --- | --- | --- | --- | --- | ---
Interfaces |  |  |  |  |  |  | 2 |  |  | 2
Total |  |  |  |  |  |  | 2 |  |  | 2