[Added code tags, please see UseCodeTags for more details]
// page - 671, here y is a stack variable and when method(here method()) ends jvm erase stack entry for
// same but inner class object is still alive in heap so if we wants to access y we need to makes y as final.
// how it works? i.e. does it mean if y is final jvm does not bothers whether y exists or not in memory??