Sobes.tech
Junior — Middle

Каква е основната задача на Reflection API в контекста на работа с обекти и класове?

sobes.tech AI

Отговор от AI

API за рефлексия в Java позволява програмистки да изследва и променя структурата на класове, обекти, методи и полета по време на изпълнение на програмата.

Основната задача е да се даде възможност за динамично получаване на информация за класове (например, техните методи, полета, конструктори), създаване на обекти, извикване на методи и промяна на полета без знание за тях по време на компилация.

Това е полезно за рамки, библиотеки, инструменти за сериализация, тестове и други случаи, когато трябва да работите с неизвестни предварително класове.

Пример за използване на Reflection за извикване на метод:

import java.lang.reflect.Method;

public class ReflectionExample {
    public static void main(String[] args) throws Exception {
        Class<?> clazz = Class.forName("java.lang.String");
        Method method = clazz.getMethod("toUpperCase");
        String str = "hello";
        String result = (String) method.invoke(str);
        System.out.println(result); // HELLO
    }
}