Что такое Reflection и когда это хороший подход? - PullRequest
17 голосов
/ 14 мая 2009

Что именно является отражением? Я прочитал статью на эту тему в Википедии и понял, что это своего рода метапрограммирование, когда программа может изменять себя во время выполнения, но что это значит? В каких ситуациях это хороший подход и когда его лучше всего использовать?

Ответы [ 11 ]

1 голос
/ 14 мая 2009

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

...