Very recently I came across the Reflection API and to my surprise we can access and even alter the private variables.I tried the following code
import java.l
Yes, It does violate OO concepts. However it does not break any java security model. It can be controlled by java security manager if necessary. Java reflection itself is an useful thing. It is used in Annotations and IOCs which are very useful concepts with ability to handle classes during runtime.