Module java.base
Package java.lang.classfile

# Interface ClassFileVersion

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

All Superinterfaces:
  `ClassElementPREVIEW , ClassFileElement`

public sealed interface ClassFileVersion extends ClassElementPREVIEW
Models the minor and major version numbers of a `class` file (JVMS §4.1). The `class` file version appears exactly once in each class, and is set to an unspecified default value if not explicitly provided.

The major versions of `class` file format begins at 45 for Java Platform version 1.0.2, and is continuous up to `ClassFile.latestMajorVersion()` . In general, each major version defines a new supported `class` file format, modeled by `ClassFileFormatVersion` , and supports all previous formats.

For major versions up to 55 for Java SE Platform 11, the minor version of any value is supported. For major versions 56 for Java SE Platform version 12 and above, the minor version must be `0` or 65535. The minor version `0` is always supported, and represents the format modeled by `ClassFileFormatVersion` . The minor version `65535` indicates the `class` file uses preview features of the Java SE Platform release represented by the major version. A Java Virtual Machine can only load such a `class` file if it has the same Java SE Platform version and the JVM has preview features enabled.

See Java Virtual Machine Specification:
  4.1 The `ClassFile` Structure
Since:
  24
See Also:
  - `ClassModel.majorVersion()`
  - `ClassModel.minorVersion()`
  - `ClassFileFormatVersion`

## Methods

- =
  public abstract int majorVersion()
- =
  public abstract int minorVersion()
- =
  public static java.lang.classfile.ClassFileVersion of(int arg0, int arg1)

## Summary

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