Домой Учебники по Java и J2EE Отражение Java: как использовать отражение для вызова метода Java во время выполнения

Отражение Java: как использовать отражение для вызова метода Java во время выполнения

525
0

Java Reflection позволяет проверять классы, интерфейсы, поля и методы во время выполнения, не зная имен классов, методов и т. Д. Во время компиляции. Также возможно создавать новые объекты , вызывать методы и получать / устанавливать значения полей, используя отражение.

  • Java — Что такое рефлексия и почему она полезна?
  • Пример отражения Java
  • Учебник по отражению Java для классов, методов, полей
  • Ознакомьтесь с API-интерфейсом Java Reflection.

Использование отражения

Отражение обычно используются программами , которые требуют возможности исследовать или изменять во время выполнения поведения приложений , запущенных в виртуальной машине Java . Это относительно продвинутая функция и должна использоваться только разработчиками, которые хорошо разбираются в основах языка. С учетом этого предостережения рефлексия является мощной техникой и может позволить приложениям выполнять операции, которые в противном случае были бы невозможны.

  • Функции расширяемости . Приложение может использовать внешние пользовательские классы, создавая экземпляры объектов расширяемости, используя их полностью определенные имена.
  • Браузеры классов и среды визуальной разработки . Браузер классов должен иметь возможность перечислять членов классов. Визуальные среды разработки могут выиграть от использования информации о типах, доступной в рефлексии, чтобы помочь разработчику в написании правильного кода.
  • Отладчики и инструменты тестирования : отладчики должны иметь возможность проверять частные члены на занятиях. В тестовых системах можно использовать отражение, чтобы систематически вызывать API-интерфейсы обнаруживаемого набора, определенные в классе, для обеспечения высокого уровня покрытия кода в тестовом наборе.

Другой должен прочитать:

  1. Советы по Java: Какой самый быстрый способ скопировать файл в Java?
  2. Понимание аннотации Java — примеры аннотаций

Ниже приведен простой пример того, как использовать Reflection для вызова метода Java во время выполнения?

CrunchifyReflectionTest.java

Джава
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
пакет ком . crunchify. учебные пособия ;
/ **
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyReflectionTest {
общественности недействительным getCompany ( ) {
Система. вне. println ( getCompany (): Value => no param ) ;
}
общественности недействительным getCompanyName ( String companyName ) {
Система. вне. println ( getCompanyName (): Value => + companyName ) ;
}
общественности недействительным getCompanyPhone ( String companyPhone ) {
Система. вне. println ( getCompanyPhone (): Value => + companyPhone ) ;
}
}
CrunchifyReflectionExample.java

Джава
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
пакет ком . crunchify. учебные пособия ;
Импортировать Java. яз. отражать. Метод ;
/ **
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyReflectionExample {
@SuppressWarnings ( rawtypes )
общественности статический недействительным main ( Строка [ ] аргументы ) {
// без параматера
Класс > нопарамы [ ] знак равно { } ;
// Строковый параметр
Класс [ ] paramString знак равно новый Класс [ 1 ] ;
paramString [ 0 ] знак равно Строка. класс ;
пытаться {
// Загрузка класса CrunchifyReflectionTest во время выполнения
Класс > ЦБС знак равно Класс. forName ( com.crunchify.tutorials.CrunchifyReflectionTest ) ;
объект OBJ знак равно кл . newInstance ( ) ;
Метод метод знак равно кл . getDeclaredMethod ( getCompany , нопарамы ) ;
метод . вызвать ( obj ) ;
метод знак равно кл . getDeclaredMethod ( getCompanyName , paramString ) ;
метод . вызывать ( объект , новый String ( Google ) ) ;
метод знак равно кл . getDeclaredMethod ( getCompanyPhone , paramString ) ;
метод . вызывать ( объект , новый String ( 408.111.1111 ) ) ;
} ловить ( Исключение экс ) {
напр . printStackTrace ( ) ;
}
}
}

Результат:

1
2
3
getCompany ( ) : Значение = > без параметров
getCompanyName ( ) : Значение = > Google
getCompanyPhone ( ) : Значение = > 408.111.1111

Вы можете взглянуть на все примеры Spring MVC и JQuery .

Отражение Java: как использовать отражение для вызова метода Java во время выполнения

0.00 (0%) 0 votes

ЧИТАТЬ ТАКЖЕ:  Как конвертировать время между часовым поясом в Java?

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь