黑马程序员技术交流社区

标题: 初学者的问题 [打印本页]

作者: heidoufus    时间: 2015-3-16 21:59
标题: 初学者的问题
使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变呢?求解答!
作者: 小亮smile    时间: 2015-3-16 22:01
final应该是都不能变!!
作者: fantacyleo    时间: 2015-3-16 22:06
是引用不能变,但可以修改指向的对象的属性
作者: 栗子木头    时间: 2015-3-16 22:20
引用不能变
作者: rhui    时间: 2015-3-16 22:30
final不能改吧
作者: 43453186@qq.com    时间: 2015-3-16 22:43
引用不变
作者: watl1989    时间: 2015-3-16 23:09
final的意思是最终,代表不能被继承,不能被再次赋值,只能被引用读取。相当于文件的只读模式。
作者: android-liu    时间: 2015-3-16 23:45
如果final修饰的是引用型变量,则地址值不能被改变
作者: wenke    时间: 2015-3-17 08:27
引用变量固定指向对象  绝不能再被改变  如果再建立新的对象只能是重新建立引用变量指向新建的对象    但引用变量可以修改对象内部非private成员变量
作者: keven1119    时间: 2015-3-18 18:40
使用final关键字修饰一个变量时,是指引用变量不能变,而引用变量所指向的对象中的内容还是可以改变的。这两个要区分好。有人在定义方法的参数时,可能想采用如下形式来阻止方法内部修改传进来的参数对象:
public void method(final StringBuffer param)
{
}
实际上,这是办不到的,在该方法内部仍然可以增加如下代码来修改参数对象:
param.append("a");
希望对你有所帮助。
作者: 蓝玉    时间: 2015-3-18 19:43
总结的真好,学习了。
作者: 勇闯☀☀黑马    时间: 2015-3-18 19:43
引用不能变
作者: wkz_crystal    时间: 2015-3-18 19:48
总结得非常好,我也学习了,呵呵谢谢!
作者: 大神在何方    时间: 2015-3-19 21:30
相当于只能看。不能修改




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