Java中private关键字的实现原理

岑如花 2016-07-16 09:08:31
如题,java中的关键字的实现原理是不是给被private修饰的变量添加了一个锁了?
...全文
464 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
岑如花 2016-07-30
  • 打赏
  • 举报
回复
引用 2 楼 faicm 的回复:
我假设你是初学者。这个是编译器做的事。比如说你用void做变量名,编译会报错,不能通过。同样的,你调用私有方法,也会报错,不让你编译通过。
那编译器是怎么实现这个功能的,又没有编译器再识别到private关键字后的相关处理的代码
王飞2023 2016-07-30
  • 打赏
  • 举报
回复
引用 5 楼 qwe885167759的回复:
[quote=引用 2 楼 faicm 的回复:] 我假设你是初学者。这个是编译器做的事。比如说你用void做变量名,编译会报错,不能通过。同样的,你调用私有方法,也会报错,不让你编译通过。
那编译器是怎么实现这个功能的,又没有编译器再识别到private关键字后的相关处理的代码 [/quote] 在Javac里面会做处理的。
寻川丶 2016-07-21
  • 打赏
  • 举报
回复
private 作用域:当前类中 default 作用域:同一个包下的其他的类 protected 作用域:不同包下的其他类 public 作用域:同一个项目中 我不明白你所理解的锁是什么概念,private的作用域比较小,被它修饰的变量只在当前类可以被调用或赋值,其他地方想调用但却没有权限,如需调用需要添加get set方法
oO临时工Oo 2016-07-21
  • 打赏
  • 举报
回复
引用 2 楼 faicm 的回复:
我假设你是初学者。这个是编译器做的事。比如说你用void做变量名,编译会报错,不能通过。同样的,你调用私有方法,也会报错,不让你编译通过。
2楼说的有道理,private是编译阶段检查的。
王飞2023 2016-07-21
  • 打赏
  • 举报
回复
我假设你是初学者。这个是编译器做的事。比如说你用void做变量名,编译会报错,不能通过。同样的,你调用私有方法,也会报错,不让你编译通过。
KeepSayingNo 2016-07-16
  • 打赏
  • 举报
回复
不明白了你的意思,private只是对变量的作用域做了限制,限制在class有效

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧