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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一个类的构造方法是用protect修饰的。这个类该怎么用,这个类有什么用。为什么用这个修饰符修饰。例如calendar类,他的修饰符就是protect。为什么要用这个修饰符修饰呢。有什么好处。我想使用这个修饰符的方法。该怎么用?我不能new他的对象。那我该怎么使用他的方法。

评分

参与人数 1技术分 +1 收起 理由
崔政 + 1

查看全部评分

2 个回复

倒序浏览
protect修饰的方法,只能被同一个包中或者存在子父类关系的类中使用,如果不存在该种关系就不能被使用。这个权限比java中默认的权限大一点,就是说如果子父类不在同一个包中,也是可以被使用的,但是默认权限就只能是本包中了。不过这种不常见,一般情况下用不到。
java中的四种权限排序,由大到小:public ,protect ,默认,private
你想使用这个修饰符修饰的方法只要满足两个条件就好:1、存在子父类关系。2、同在一个包中

评分

参与人数 1技术分 +1 收起 理由
崔政 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 魏秀盛 于 2012-12-6 23:53 编辑

在有些时候,希望超类中的某些方法允许被子类访问,或允许子类的方法访问超类的某个域,需要将这些方法声明为protected,这种限制有助于避免滥用受保护机制,使得子类只能访问受保护域的权利。简单来说,protected对于子类、本类内部来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
归纳一下Java用于控制可见性的4个访问修饰符:
1)仅对本类可见------private
2)对所有类可见--------public
3)对本包和所有子类可见----protected
4)对本包可见----默认,所谓默认是指没有任何标明任何修饰符的情况,这是一种不太受欢迎的形式;
Calendar类是一个抽象类,它的修饰符是public,可以用Calendar.DATE获取今天是这个月的第几天(默认是从0开始计数);

评分

参与人数 1技术分 +1 收起 理由
崔政 + 1

查看全部评分

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