This week's book giveaway is in the Java 8 forum.
We're giving away four copies of Java 8 in Action and have Raoul-Gabriel Urma, Mario Fusco, and Alan Mycroft on-line!
See this thread for details.
The moose likes Java in General and the fly likes Why does Sun exposes private methods through reflection Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Why does Sun exposes private methods through reflection" Watch "Why does Sun exposes private methods through reflection" New topic
Author

Why does Sun exposes private methods through reflection

Sunil Vasudevan
Ranch Hand

Joined: Mar 05, 2007
Posts: 107
Using reflection, we can invoke the private method of another class.

I am bit curious to know why Sun had this feature implemented. Doesn't this defeat encapsulation?


Sunil.V<br />SCJP2, SCWCD1.4, SCBCD1.3
Jaikiran Pai
Marshal

Joined: Jul 20, 2005
Posts: 9343
    
111

This was discussed some time back here


[My Blog] [JavaRanch Journal]
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Sunil Vasudevan:
Doesn't this defeat encapsulation?


A class that would be 100% encapsulated would be worthless, because you couldn't communicate with it. With other words, there always is a balance between encapsulation and other forces. Sometimes that means that violating encapsulation to the point of accessing a private field is *the right to do*!


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Why does Sun exposes private methods through reflection
 
Similar Threads
Reflection API...
EL Mystery
Usage Of Accessing private Members Through Reflection
How to get an specific object instance!
Finding field defined in parent class