W3cubDocs

/OpenJDK 25

Interface ClassFileVersion

All Superinterfaces:
ClassElement, ClassFileElement
public sealed interface ClassFileVersion extends ClassElement
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:

Method Summary

Modifier and Type Method Description
int majorVersion()
Returns the major version.
int minorVersion()
Returns the minor version.
static ClassFileVersion of(int majorVersion, int minorVersion)
Returns a ClassFileVersion element.

Method Details

majorVersion

int majorVersion()
Returns the major version. It is in the range of unsigned short, [0, 65535].
API Note:
Constants in ClassFile named Java_#_VERSION, where # is a release number, such as ClassFile.JAVA_21_VERSION, describe the class major versions of the Java Platform SE.
Returns:
the major version

minorVersion

int minorVersion()
Returns the minor version. It is in the range of unsigned short, [0, 65535].
Returns:
the minor version

of

static ClassFileVersion of(int majorVersion, int minorVersion)
Returns a ClassFileVersion element.
Parameters:
majorVersion - the major version
minorVersion - the minor version
Returns:
a ClassFileVersion element

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/ClassFileVersion.html