| Author |
accessing private variables of thread class using reflection
|
Bhagirathi Mallick
Greenhorn
Joined: Jul 21, 2011
Posts: 25
|
|
why we cannot access private variable named as "threadstatus" of the class Thread in out side of that class
when i call accessThreadStatus method it generates one exception
And if the above happens , then how to make a private variable not accessible to the out side class.
please any one find the solution
Thanks in advance.
|
 |
Bhagirathi Mallick
Greenhorn
Joined: Jul 21, 2011
Posts: 25
|
|
|
its ok, you can anser it
|
 |
Henry Wong
author
Sheriff
Joined: Sep 28, 2004
Posts: 16692
|
|
Bhagirathi Mallick wrote:why we cannot access private variable named as "threadstatus" of the class Thread in out side of that class
when i call accessThreadStatus method it generates one exception
And if the above happens , then how to make a private variable not accessible to the out side class.
please any one find the solution
Thanks in advance.
It generates an exception because you are trying to access a private variable -- by default, reflection does not allow to access a private variable. To enable access, you need to call the setAccessible() method, which you other example has done.... Now, if you are asking why the other example doesn't work, it could be the security manager. The setAccessible() method is prevented from being called in most cases -- applets, RMI, etc. -- try running it as a stand alone application where there isn't a security manager by default.
Henry
|
Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
|
 |
 |
|
|
subject: accessing private variables of thread class using reflection
|
|
|