java.lang.reflect package provides classes and interfaces which are used to obtain reflective information about classes and objects. Reflection API allows programmatic access to information about the fields, methods and constructors of loaded classes. It allows use of reflected fields, methods, and constructors to operate on their underlying counterparts, within security restrictions. This reference will take you through simple and practical methods available in java.lang.reflect package.
This reference has been prepared for the beginners to help them understand the basic functionality related to all the methods available in java.lang.reflect package.
Before you start doing practice with various types of examples given in this reference, I'm making an assumption that you are already aware of basic Java Programming.