В Java есть два способа вызвать метод класса: для статических методов вы можете напрямую назвать имя класса, а для нестатических методов вы должны использовать вызов объекта класса. Механизм отражения обеспечивает относительно альтернативный способ вызова, который может указывать метод, который должен быть вызван по мере необходимости без необходимости определения во время программирования. Способный метод не ограничивается общественностью, но также может быть частным. Напишите программу, которая использует механизм отражения, чтобы вызвать статический метод sin () и нестатический метод equals () математического класса.
Идея заключается в следующем: используйте Math.class.getDeclaredMethod («sin», Double.Type); Тип параметра входа вдвое.
Код заключается в следующем:
Кода -копия выглядит следующим образом:
импортировать java.lang.reflect.method;
открытый класс Dongtai {
public static void main (string [] args) {
пытаться {
System.out.println («Вызовите статический метод sin () математического класса»);
Метод sin = math.class.getDeclaredMethod ("sin", Double.Type);
Double sin1 = (двойной) sin.invoke (null, новое целое число (1));
System.out.println ("1 синусное значение:" + sin1);
System.out.println («Вызовы нестатический метод equals () класса строки»);
Метод equals = string.class.getDeclaredMethod ("equals", object.class);
Boolean mrsoft = (boolean) equals.invoke (новая строка («Tomorrow Technology»), «Завтрашние технологии»);
System.out.println ("это строка завтрашняя технология:" + mrsoft);
} catch (Exception e) {
e.printstacktrace ();
}
}
}
Эффект показан на картинке: