黑马程序员技术交流社区

标题: final修饰问题 [打印本页]

作者: 余海龙    时间: 2012-2-16 20:16
标题: final修饰问题
一个局部变量被final修饰后,被加载到了那个内存区中,生命周期是什么?
作者: 丁晓宇    时间: 2012-2-16 20:20
和普通局部变量应该差不多,只是存在期间不允许修改值了吧。期待楼下高手深入解答
作者: foxpeter    时间: 2012-2-16 20:20
和对象的生命周期一样 , 其实就跟普通属性一样的 , 只是不能修改它的值。
作者: 戚雪晖    时间: 2012-2-16 21:02
被final修饰以后,只能赋值一次,因此他称为常量,是不再变化的。
他的生命周期跟变量的生命周期一样。
通常用public static final 一起来修饰一个常量,表示权限足够大、可以被共享、是一个常量。

作者: 王康    时间: 2012-2-17 10:34
final变量的生命周期和普通变量的生命周期一样,没有差别.
他们的差别在于,普通变量的值可以被修改,但final变量的值则不能购被修改
值永远固定不变.
作者: b_boywindy    时间: 2012-2-17 16:34
final 修饰的属性 叫常量,是不可变的  所以叫常量而不叫变量 ,
作者: 仵先进    时间: 2012-2-17 16:44
局部变量中包含有要访问的final型局部变量的一个拷贝,成为它的数据成员。因此,正是在这个意义上,final型局部变量的生命期,超过其方法的一次调用。严格来说,方法调用结束,所有的局部变量(含final)全死亡了。但:局部变量中有final型局部变量的拷贝。
作者: 何招俊    时间: 2012-2-17 17:10
1.在java中声明类、属性、方法时,可使用关键字final来修饰 2.final标记的类不能被继承。 3.final标记的方法不能被子类重写 4.final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次。 5.final标记的变量必须在声明的同时或在构造方法中显示赋值,然后才能使用。 final int x = 5; class Test{ final int x ; Test(){ x=3; } }
作者: 余海龙    时间: 2012-2-17 21:49
谁能给说一下在内存中的情况啊?




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