GeeCON Prague 2014*
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


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: 10145
    
165

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
 
GeeCON Prague 2014
 
subject: Why does Sun exposes private methods through reflection