ok, I talked about reflection in couple posts specifically and indirectly I referred to them in a few others, but just to wrap up, Reflections are very useful and very powerful tool that every developers needed them in their toolbox. now, when you read and practice what I have explained so nfar, you can see the connections between that package with others and also you can see its footprints everywhere in Java frameworks and other utilities.
Reflection generally can be used to retrive the information about every Class Type.
you can load and reload Class definition into memory and you can trace everything inside classes, even inner classes (as I explained in my examples in Reflections)
Also Reflection will be used in Annotation processing behind the scene by JDK.
Also for Serialization, Java itself uses reflection to get the SerialVerUID fields to validate the classes.
to make that easy, I can just tell that wherever you saw something might use Class Type, you can now think of Reflection.