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
}
}