Hola:
Creo que lo que quiere saber es para qué sirve la reflection de java, ya que habitualmente sabes qué clases tienes y sabes llamar a sus métodos sin necesidad de reflection.
Normalmente usan reflection algunas librerías java que van a tratar con objetos que todavía no están definidos. Cuando alguien haga un programa usando esa librería, creará sus propias clases y la librería no tiene ni idea de cuales son. Por ejemplo, imaginate que vas a hacer una librería capaz de escribir los atributos de una clase por pantalla. Harías una clase estilo esto
Código Java:
Ver originalpublic class UnaClase {
public void imprime
(Object unObject
) { // Aquí tu código para escribir por pantalla todos los atributos de la clase.
}
}
y esa clase la compilas, la metes en un libreria.jar (sin main ninguno) y se la pasas a la gente para que la use. Cada uno creará sus propias clases y llamara a imprime(miPropiaClase). La unica forma en que puedes implementar ese metodo imprime() para que funcione con cualquier clase que se le ocurra a cualquier usuario futuro es usando reflection.
Este es un ejemplo muy tonto, pero por ejemplo, Hibernate es una librería para guardar datos en base de datos y recibe clases cuyos atributos guardará en tablas de base de datos. Hibernate usa reflection (y más cosas) para poder hacer esto con cualquier clase que luego un programador invente.
Se bueno.