黑马程序员技术交流社区

标题: final修饰的局部变量是在内存中是什么样子的 [打印本页]

作者: 郭学文    时间: 2011-11-6 22:02
标题: final修饰的局部变量是在内存中是什么样子的

final修饰的局部变量是在内存中是什么样子的:Q

不修饰和修饰后在内存中有什么变化?
作者: 邱本超老师    时间: 2011-11-6 22:04
final修饰符
  在Java声明类、属性和方法时,可以使用关键字final来修饰,final所标记的成分具有终态的特征,表示最终的意思。
  final的具体规则
    ·final标记的类不能被继承
    ·final标记的方法不能被子类重写
    ·final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次
    ·final标记的成员变量必须在声明的同时赋值,如果在声明的时候没有赋值,那么只有一次赋值的机会,而且只能在构造方法中显式赋值,然后才能使用
    ·final标记的局部变量可以只声明不赋值,然后再进行一次性的赋值
    ·final一般用于标记那些通用性的功能、实现方式或取值不能随意被改变的成分,以避免被误用
  如果将引用类型(即,任何类的类型)的变量标记为final,那么,该变量不能指向任何其它对象,但可以改变对象的内容,因为只有引用本身是final的。


作者: 齐国峰    时间: 2011-11-6 22:10
局部变量是存在于栈内存的.
如果用final修饰应该只能说明它是常量.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2