Библиотека рефлексии(reflection library) предоставляет богатый набор инструментальных средств для динамической работы с Java-кодом. Эта возможность широко используется в JavaBeans при создании компонентов.
Благодаря рефлексии появляется возможность поддерживать инструментальные средства, подобные тем, которыми используются программисты, работающие на Visual Basic. Так, например, когда в процессе разработки или выполнения программы добавляется новый класс, можно организовать опрос с целью выяснить возможность нового класса.
Программа, которая способна анализировать возможности классов, называется рефлективной(reflective). Рефлексия — очень мощный механизм, который можно использовать для решения перечисленных ниже задач.
- Анализ возможностей классов в процессе выполнения программы.
- Проверка объектов при выполнении программы, например, с помощью рефлексии можно реализовать метод toString(), совместимый со всеми классами.
- Реализация обобщенного кода для работы с массивами.
- Применение объектов Method, которые работают подобно указателями на функции в языках, подобных C++.
Кстати, готовы ли вы к большой конференции Java? Успейте вовремя купить авиабилеты и арендовать гостиницу. Будут присутствовать довольно известные личности.
Рефлексия — не только мощный, но и сложный механизм. Он интересен в основном разработчикам инструментальных средств; программисты, создающие обычные прикладные программы, в большинстве случаев могут не применять его.