Java - ObjectStreamClass

Last Updated : 24 Jan 2026

The ObjectStreamClass in Java is used as a serialization descriptor that contains metadata about a serializable class.

In this chapter, we will learn what the ObjectStreamClass is, why it is used, its fields, important methods, and how it works with an example.

What is ObjectStreamClass in Java?

The ObjectStreamClass is a special class used internally by Java serialization, and it is used to store metadata of a class such as its name, fields, and serialVersionUID.

It acts as a serialization descriptor, which means it describes how a class is represented during the serialization and deserialization process.

ObjectStreamClass Usage (No Public Constructor)

The ObjectStreamClass does not provide a public constructor. Instead, objects of this class are obtained using static lookup methods provided by the class.

Here is the common way to obtain ObjectStreamClass:

Fields of ObjectStreamClass

The ObjectStreamClass provides fields that describe serializable properties.

Modifier and TypeFieldDescription
static ObjectStreamField[]NO_FIELDSIndicates that the class has no serializable fields

Methods of ObjectStreamClass

The ObjectStreamClass class provides methods to access serialization-related information.

Modifier and TypeMethodDescription
Class<?>forClass()It returns the class in the local VM that this version is mapped to.
ObjectStreamFieldgetField(String name)It gets the field of this class by name.
ObjectStreamField[]getFields()It returns an array of the fields of this serialization class.
StringgetName()It returns the name of the class described by this descriptor.
longgetSerialVersionUID()It returns the serialVersionUID for this class.
Static ObjectStreamClasslookup(Class<?> cl)It finds the descriptor for a class that can be serialized.
Static ObjectStreamClasslookupAny(Class<?> cl)It returns the descriptor for any class, regardless of whether it implements Serializable.
StringtoString()It returns a string describing this ObjectStreamClass.

Example of ObjectStreamClass

This example demonstrates how to retrieve serialization-related information of a class using ObjectStreamClass.

Output:

I price
null