Thread--synchronized不能被继承?!?!!!
2024-09-03 15:09:12
参考:http://bbs.csdn.net/topics/380248188
其实真相是这样的,“synchronized不能被继承”,这句话有2种不同意思,一种是比较正常的、很容易让人想到的意思;另一种是“不正常的”或者说是“java中文界”广泛认同了的意思。
楼主是第一种意思,其他人是第二种意思。所以,会出现该贴的尴尬讨论。
第一种理解方式:父类中有个synchronized方法,子类继承了父类,但子类没覆写该方法。通过子类实例来使用该方法时,按“synchronized不能被继承”,意思就为:该子类的该方法就变成了非synchronized方法。
第二种理解方式:synchronized并不属于方法定义的一部分,不能被继承。子类覆写了该方法,如果在覆写时不明确写上synchronized,那这个方法就不是synchronized。换句话说,虽然继承了,但是没把synchronized继承下来,也就意味着“synchronized不能被继承”。
我觉得“synchronized不能被继承”这句话,没把意思表述清楚。产生这种情况的原因,我推测是这样的:某前辈详细解释了以上2种意思,最后总结的时候,使用了“synchronized不能被继承”这句不太合适的话。某无知后辈转述前辈意思的时候,就直接用了“synchronized不能被继承”。结果一传十,十传百,这句话就传开了,也让初学者产生了迷惑。
在英文世界里,没有“synchronized不能被继承”的讨论。这也说明了点问题。
其实楼主的问题,可以记住这么句话:synchronized方法,一定要显示标明,它是不能隐式标明的。
中文里“一句话多种意思”的问题,真的是给学术界增加了不少麻烦!
最新文章
- C++面试题汇集
- 1、ASP.NET MVC入门到精通——新语法
- UIKit的外观属性及方法汇总
- js 小数[非]四舍五入
- poj 题目分类(1)
- Django配置静态文件(CSS\js)及Django调用JS、CSS、图片等静态文件
- phpmailer{群发并且发送附件}
- MP3文件结构及解码概述
- sql防注入代码
- 我的第一个python web开发框架(4)——数据库结构设计与创建
- async/await,了解一下?
- Win7环境 搭建IIS环境。发布asp.net MVC项目到IIS(第二期)
- SpringBoot报错
- Flink运行在yarn上
- 将H5页面的应用打包成APP(苹果和安卓版本)
- Nginx支持WebSocket反向代理-学习小结
- 数学战神app(小学生四则运算app)进度
- db2修改表结构,增加列,删除列等
- 10分钟看懂!基于Zookeeper的分布式锁
- JS 获取屏幕的宽度和高度,各种方式