中易网

java问题:final关键字到底修饰了什么?

答案:1  悬赏:10  
解决时间 2021-03-13 00:09
java问题:final关键字到底修饰了什么?
最佳答案
final使得被修饰的变量"不变",但是由于对象型变量的本质是“引用”,使得“不变”也有了两种含义:引用本身的不变,和引用指向的对象不变。 引用本身的不变: final StringBuffer a=new StringBuffer("immutable"); final StringBuffer b=new StringBuffer("not immutable"); a=b;//编译期错误 引用指向的对象不变: final StringBuffer a=new StringBuffer("immutable"); a.append(" broken!"); //编译通过 可见,final只对引用的“值”(也即它所指向的那个对象的内存地址)有效,它迫使引用只能指向初始指向的那个对象,改变它的指向会导致编译期错误。至于它所指向的对象的变化,final是不负责的。这很类似==操作符:==操作符只负责引用的“值”相等,至于这个地址所指向的对象内容是否相等,==操作符是不管的。 理解final问题有很重要的含义。许多程序漏洞都基于此----final只能保证引用永远指向固定对象,不能保证那个对象的状态不变。在多线程的操作中,一个对象会被多个线程共享或修改,一个线程对对象无意识的修改可能会导致另一个使用此对象的线程崩溃。一个错误的解决方法就是在此对象新建的时候把它声明为final,意图使得它“永远不变”。其实那是徒劳的。 了解具体java培训细节信息,可以观看java视频。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
教师资格证是终身的么? 如果有教师资格证还没
招聘环节中,简历的淘汰率大约是多少
手机通话能做为调查案件的凭据吗?通话记录能
温润洗浴在什么地方啊,我要过去处理事情
比亚迪移动式储能电站是什么样子
轩辕传奇好基友称号怎么来的
洪福超市地址在哪,我要去那里办事
lg显示器e2251怎么样
空气经压缩后会成为饱和湿空气吗?
怎么QQ里面附近的人老是更新失败?求解
实现一文件上传到一网站除了用FTP外还有什么
四川省众信建设工程监理有限公司在什么地方啊
,蓝天因为阳光灿烂和明亮,是什么歌
我受伤了我男朋友什么都没有说
请问把云柳送给别人,表示什么?云柳的花语又
推荐资讯
永顺街南一巷地址在什么地方,想过去办事
电脑机箱里边电扇突然转很快,电脑处于卡着不
玉林蒸馍店在哪里啊,我有事要去这个地方
大龙村怎么去啊,我要去那办事
各( )神( )把词语补充完整
考研英语复试口语要求严格吗?
为什么同一家公司不能代理两个相互竞争的品牌
实现一个socket server需要哪些步骤
三彩广告地址在什么地方,想过去办事
这是不是包皮长?
我的手机被偷了,要怎么样可以找到那个小偷,
颐和园 香山公园 八达岭长城 天坛公园 北京故
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?