参考:http://bbs.csdn.net/topics/380248188

其实真相是这样的,“synchronized不能被继承”,这句话有2种不同意思,一种是比较正常的、很容易让人想到的意思;另一种是“不正常的”或者说是“java中文界”广泛认同了的意思。
楼主是第一种意思,其他人是第二种意思。所以,会出现该贴的尴尬讨论。
第一种理解方式:父类中有个synchronized方法,子类继承了父类,但子类没覆写该方法。通过子类实例来使用该方法时,按“synchronized不能被继承”,意思就为:该子类的该方法就变成了非synchronized方法。
第二种理解方式:synchronized并不属于方法定义的一部分,不能被继承。子类覆写了该方法,如果在覆写时不明确写上synchronized,那这个方法就不是synchronized。换句话说,虽然继承了,但是没把synchronized继承下来,也就意味着“synchronized不能被继承”。

我觉得“synchronized不能被继承”这句话,没把意思表述清楚。产生这种情况的原因,我推测是这样的:某前辈详细解释了以上2种意思,最后总结的时候,使用了“synchronized不能被继承”这句不太合适的话。某无知后辈转述前辈意思的时候,就直接用了“synchronized不能被继承”。结果一传十,十传百,这句话就传开了,也让初学者产生了迷惑。

在英文世界里,没有“synchronized不能被继承”的讨论。这也说明了点问题。

其实楼主的问题,可以记住这么句话:synchronized方法,一定要显示标明,它是不能隐式标明的。

中文里“一句话多种意思”的问题,真的是给学术界增加了不少麻烦!

最新文章

  1. C++面试题汇集
  2. 1、ASP.NET MVC入门到精通——新语法
  3. UIKit的外观属性及方法汇总
  4. js 小数[非]四舍五入
  5. poj 题目分类(1)
  6. Django配置静态文件(CSS\js)及Django调用JS、CSS、图片等静态文件
  7. phpmailer{群发并且发送附件}
  8. MP3文件结构及解码概述
  9. sql防注入代码
  10. 我的第一个python web开发框架(4)——数据库结构设计与创建
  11. async/await,了解一下?
  12. Win7环境 搭建IIS环境。发布asp.net MVC项目到IIS(第二期)
  13. SpringBoot报错
  14. Flink运行在yarn上
  15. 将H5页面的应用打包成APP(苹果和安卓版本)
  16. Nginx支持WebSocket反向代理-学习小结
  17. 数学战神app(小学生四则运算app)进度
  18. db2修改表结构,增加列,删除列等
  19. 10分钟看懂!基于Zookeeper的分布式锁
  20. JS 获取屏幕的宽度和高度,各种方式

热门文章

  1. Spark on Yarn | Spark,从入门到精通
  2. POJ 1061:青蛙的约会
  3. CSS屏幕适配尺寸样式
  4. ROS常见问题(三) 报错are you sure it is properly registered and that the containing library is built?
  5. 小程序地图开发周边信息POI展示为列表
  6. NAT的三种方式
  7. 031-PHP获取图像信息
  8. 换根dp
  9. Cheat Engine 入门操作
  10. PHP ~ 设置和读取 Cookie