Last Updated: June 6, 2026
Reflection in Java starts with one type: java.lang.Class. Every operation that inspects code at runtime begins by getting a Class object for the type you want to look at. This lesson covers what a Class object is, why every loaded type has exactly one of them, and the four ways you can obtain one. It also covers the generic shape Class<T>, the Class objects that exist for primitives and arrays, and the small set of Class methods that return type-level information.