Reflection allows creating an instance of a class having private constructor, this is a loop hole of Java, is there any purpose behind this feature/bug?
This is an eye opener. How feasible is it? I hadn't known about the Reflection tool. I will start first by breaking my own code to get hands on with it. Seems interesting from this read here http://www.javaworld.com/article/2074753/core-java/object-hacking-in-java---power-of-reflection.html
Without reflection Java frameworks like JUnit or Spring wouldn't work. Using reflection the frameworks can inspect classes and call methods dynamically or create objects from calsses (in the case of Spring). I'm not sure why refelection was intoduced to Java in the first place but it is a useful features for meta programming. It compromizes encapsulation so it shouldn't be used in "normal" code.