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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈国斌 中级黑马   /  2013-4-29 22:02  /  1360 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一个类公有后,是不是它的所有成员就都公有了呢?比如其他类想继承并覆盖这个公有类中的方法,其方法权限至少就要是public吗?

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

4 个回复

倒序浏览
1、一个类公有,仅仅表示这个类可以被其他包的类使用,并不影响他本身的成员的可见性
2、确实,覆盖要求方法的权限不能降低

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
一个类共有后,它的成员也可能是私有,也可能共有。

覆盖时,必须保证子类方法权限 >= 父类方法权限,才可以覆盖,否则编译失败
Java中的方法访问权限有public,private,protected和默认的包访问权限,所以只要保证覆盖的权限大于等于被覆盖的就行,不是必须是public的。
但是要记住静态只能覆盖静态。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
一个类公有后,它的所有成员不一定都公有了。
1,在学习毕老师java基础,在制作API文档时,你还记得两个变量换位置的方法吗?那个就没有公有出去。
2,覆盖是需要保证子类权限大于等于父类权限。当然私有的和最终的不能被覆盖。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马