Чтобы ответить на этот вопрос нужно разобраться в двух темах.
Во-первых, экземпляры, относящиеся к Class<T>, являются описанием типов, где считается что перечисления – это классы, а аннотации идентичны интерфейсам. Экземпляры, принадлежащие Class<T> хранят, в основном, ту же информацию, что и файл class и создаются исключительно внутри загрузчика.
Во-вторых, следует рассмотреть особенности метакласса Class<T> для примитивных и void типов и массивов. Для доступа к экземплярам следует использовать стандартный синтаксис, например, vod.class.
Для void в качестве параметра <T> используется встроенный стандартный тип java.lang.Vod. Для примитивов – обёртка. Для обёрточного типа применяется экземпляр Class.
Для большинства классов getClassLoader выдаёт загрузчик этого класса. null возвращается для класса, загруженного с помощью bootstrap загрузчика. Возвращаемое значение для массива полностью совпадает со значением, полученным для любого его элемента. Значение для void равно null.