Что такое рефлексия и почему она полезна? - PullRequest
1902 голосов
/ 01 сентября 2008

Что такое отражение и почему оно полезно?

Меня особенно интересует Java, но я предполагаю, что принципы одинаковы для любого языка.

Ответы [ 21 ]

1 голос
/ 26 апреля 2019

Как мне кажется, лучше объяснить на примере, и ни один из ответов, похоже, не делает этого ...

Практическим примером использования отражений может быть языковой сервер Java, написанный на Java, или языковой сервер PHP, написанный на PHP, и т. Д. Language Server предоставляет вашим IDE такие возможности, как автозаполнение, переход к определению, контекстная помощь, подсказки и многое другое. Чтобы все имена тегов (слова, которые могут быть автоматически заполнены) совпадать при нажатии, скажем, TAB и отображать все подсказки, языковой сервер должен проверять все, что касается класса, включая его документ. блоки и частные участники. Для этого нужно отражение указанного класса.

...