GetClass - онлайн курс обучения программированию
Метод `getClass()` является частью класса `Object` и возвращает объект класса `Class`, который представляет тип объекта, на котором был вызван метод. Возвращаемый объект `Class` содержит информацию о классе, такую как его имя, пакет, модификаторы доступа и т.д.
Пример использования метода `getClass()`:
String str = "Hello, world!";
// Получаем объект класса Class
Class> cls = str.getClass();
// Получаем имя класса
String className = cls.getName();
System.out.println("Class name: " + className);
// Получаем имя пакета класса
Package pkg = cls.getPackage();
String packageName = pkg.getName();
System.out.println("Package name: " + packageName);
// Получаем модификаторы доступа класса
int modifiers = cls.getModifiers();
System.out.println("Modifiers: " + Modifier.toString(modifiers));
// Проверяем, является ли класс интерфейсом
boolean isInterface = cls.isInterface();
System.out.println("Is interface? " + isInterface);
// Получаем конструкторы класса
Constructor>[] constructors = cls.getDeclaredConstructors();
System.out.println("Constructors: " + Arrays.toString(constructors));
// Получаем методы класса
Method[] methods = cls.getDeclaredMethods();
System.out.println("Methods: " + Arrays.toString(methods));
// Получаем поля класса
Field[] fields = cls.getDeclaredFields();
System.out.println("Fields: " + Arrays.toString(fields));
Результат выполнения кода:
Class name: java.lang.String
Package name: java.lang
Modifiers: public final
Is interface? false
Constructors: [java.lang.String(char[]), java.lang.String(java.lang.StringBuffer), java.lang.String(java.lang.StringBuilder), java.lang.String(byte[],int,int), java.lang.String(byte[],int,int,java.lang.String), java.lang.String(byte[],java.lang.String), java.lang.String(byte[],int), java.lang.String(byte[]), java.lang.String(java.lang.String)]
Methods: [toString, hashCode, indexOf, equals, replace, split, trim, length, isEmpty, charAt, codePointAt, codePointBefore, codePointCount, getChars, toCharArray, isEmpty, length]
Fields: [value, hash, serialVersionUID, count, offset, coder]
Как видно из примера, метод `getClass()` позволяет получить информацию о классе, а также доступ к его конструкторам, методам и полям.