final只是一个修饰符。对象的地址存放在栈内存中。下面是小弟的一点小结,献丑了。
局部变量:1:定义在方法的参数,方法内的变量,语句中的变量。
2:局部变量都存储在栈内存中。
3:只要所在的函数被执行,该函数的变量才存在于栈内存中,当该变量所属区域执行结束,该变量消失。
4:局部变量的范围是有限的,即在该区域所在的大括号中。
5: 局部变量如果没有被复制的话,Java是不会承认其默认值的!
成员变量 : 1:定义在类中的变量。
2:成员变量都存储与堆内存的对象中。
3:成员变量需要被对象调用,当对象被垃圾站回收时,对象中的变量才会消失。
4:成员变量在整个类中有效。如果别的类的方法要访问它,必须创建该类的对象,然后才可以通过点运算符来引用。
5:成员变量没被赋值时,Java是会承认其默认值的! |