File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes problem in method local inner classes ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "problem in method local inner classes ?" Watch "problem in method local inner classes ?" New topic

problem in method local inner classes ?

gurpeet singh
Ranch Hand

Joined: Apr 04, 2012
Posts: 924

I'm studying inner classes from kb6 book and i have a doubt regarding inner classes. the book says that method local inner classes cannot access local variables of the method because local variables live on stack and they wont be as long available as the object of the inner class itself and hence the reason. however it further says that if we mark the local variables final , then the object of the method local inner class can access the local variable. i would like to know why ? after putting final still the local variable is local variable and its scope and lifetime still will be same as it was before putting final and still would live less than method local inner class object. Please explain ?

following are few lines from the book itself.

Because the local variables aren't guaranteed to be alive as long
as the method-local inner class object, the inner class object can't use them. Unless
the local variables are marked final! The following code attempts to access a local
variable from within a method-local inner class.
Henry Wong

Joined: Sep 28, 2004
Posts: 20531

Please search first, as this questions comes up often.... BTW, here the first one that I found.


Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
I agree. Here's the link:
subject: problem in method local inner classes ?
jQuery in Action, 3rd edition