Как через рефлексию получить аргументы конструктора? Можно ли как то вытащить то, что принимает конструктор класса?

21 Авг 2019 в 07:03
155 +1
0
Ответы
1

Да, можно получить аргументы конструктора через рефлексию в Java. Для этого можно воспользоваться классом Constructor из пакета java.lang.reflect, который предоставляет доступ к метаданным конструктора.

Пример получения аргументов конструктора с помощью рефлексии:

import java.lang.reflect.Constructor;
import java.lang.reflect.Parameter;
public class Main {
public static void main(String[] args) {
try {
Class<?> clazz = MyClass.class;
Constructor<?> constructor = clazz.getConstructor(String.class, int.class);
Parameter[] parameters = constructor.getParameters();
for (Parameter parameter : parameters) {
System.out.println("Parameter type: " + parameter.getType().getSimpleName());
}
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
}
class MyClass {
public MyClass(String str, int num) {
// Конструктор класса
}
}

Таким образом, с помощью метода getParameters() можно получить список параметров конструктора, и для каждого параметра определить его тип данных.

20 Апр 2024 в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир