A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 李新辉   /  2013-10-26 16:44  /  3875 人查看  /  22 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

才看到 private 修饰
父类的 sleep 方法跟子类一毛钱关系都没有,子类又看不见又不能用
你的问题基本等同于这个父类方法在子类中到底存在不存在呢
这个问题太内涵了,我是不知道,而且我觉得这个问题也没什么价值,除非你要深究Java运行原理上的东西
回复 使用道具 举报
睡不够的猪 发表于 2013-10-31 22:52
这样是可以定义的 不会发生冲突 因为当方法加了私有之后 ,在类之外是不能直接访问的 只能通过本类中的方 ...

谢谢
通过你这段代码
我又做了几次修改并多次验证已经明白了
结论我已经贴在楼下……
回复 使用道具 举报
本帖最后由 李新辉 于 2013-11-1 00:33 编辑
零下五度的水 发表于 2013-10-31 23:10
才看到 private 修饰
父类的 sleep 方法跟子类一毛钱关系都没有,子类又看不见又不能用
你的问题基本等同于 ...


(1)…… void sleep(){}   ====》位于父类中
(2) ……void sleep(){}   ====》位于子类中


当这两个函数分别定义在子父类中
---------------------------------
当两个都非私有时
(2)权限小于(1)就会编译报错
(2)的权限大于等于(1)的权限那么就覆盖

---------------------------------
当(1)私有或者(1)(2)都私有时
子类不能继承此方法,它只能在父类型对象中才能被调用
子类中的(2)跟(1)没有任何 关系,他们都独立存在自己的本类中
被自己的本类对象所调用
注意:
当(1)私有时,不存在覆盖。

-----------------------------------
当(2)私有时
子类继承(1)并尝试覆盖,编译报错
=======================================


经过我自己的验证总结
这是最后的结论
应该没问题……


一句话总结:
私有就不能被访问,不能被继承,只在本类中有效


回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马