Class - экземпляры этого класса представляют классы и интерфейсы в запущенной Java-программе

class java.lang.Class
public static Class forName(String name, boolean initialize, ClassLoader loader)

Возвращает объект Class, соответствующий классу или интерфейсу с названием, указанным в name (необходимо указывать полное название класса или интерфейса), используя переданный загрузчик классов. Если в качестве загрузчика классов loader передано значение null, будет взят таковой, который использовался для загрузки вызывающего класса. При этом класс будет инициализирован, только если значение initialize равно true и класс не был инициализирован ранее.

public Object newInstance()

Создает и возвращает объект класса, который представляется данным экземпляром Class. Создание будет проходить, используя конструктор без параметров. Если такового в классе нет, будет брошено исключение InstantiationException. Это же исключение будет брошено, если объект Class соответствует абстрактному классу, интерфейсу или же по какой-либо другой причине.

getClass()

возвращает класс объекта

static forName(String className)

возвращает экземпляр класса

Class c1 = Class.forName("java.lang.String");
isAnnotation()
isArray()
isInterface()
isEnum()
isPrimitive()
getDeclaredClasses()
getDeclaredConstructors()
getDeclaredMethods()
getDeclaredFields()
getSuperclass()
getPackage()
getModifiers()