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 Final Local Variable 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 "Final Local Variable" Watch "Final Local Variable" New topic

Final Local Variable

Ovidiu Mura

Joined: Jun 18, 2011
Posts: 2

When a local variable is devlared final, where is it stored? Stack? Heap?

For example:

class Test{

public void foo(){
final int var1 = 0; // var1 cannot be modified; where does 'var1' is stored?


Thanks in advance,
Stephan van Hulst

Joined: Sep 20, 2010
Posts: 4597

The final modifier should not affect where a variable is stored. So regardless, a local variable will still be on the stack. However, keep in mind that when you reference a final local variable from an anonymous class, a copy of the value will be stored in an "invisible" variable in the instances of that anonymous class.

The mind is a strange and wonderful thing. I'm not sure that it will ever be able to figure itself out, everything else, maybe. From the atom to the universe, everything, except itself.
I agree. Here's the link:
subject: Final Local Variable
It's not a secret anymore!