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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Spring up 中级黑马   /  2012-12-18 13:01  /  1798 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

作用域 public,private,protected写与不写有什么区别?

5 个回复

倒序浏览
这四个作用域可参见下表
备注:如果在修饰的元素上没有写任何的修饰符,则表示default
作用域           当前类        同一个package    子孙类   其它package
public             √                √                  √               √
protected       √                √                  √               ×
default           √                √                  ×               ×
private           √                ×                  ×               ×  

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
本帖最后由 马铿 于 2012-12-18 13:20 编辑

private 私有,即只有自己能访问protected 保护,只有自己和子类能访问public 公开,大家都可以访问
当一个成员没有指定访问说明符时,默认为private。
回复 使用道具 举报
1、private修饰词,表示成员是私有的,只有自身可以访问;   
2、protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。   
3、无修饰词(默认),表示包访问权限,同一个包内可以访问,访问权限是包级访问权限;  
4、public修饰词,表示成员是公开的,所有其他类都可以访问;
回复 使用道具 举报
   1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用

     2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。

     3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
回复 使用道具 举报
                          类内    包内    子类     任意  
  public                是               是           是            是               
  protected          是               是           是       
  default一般不用  是               是
  private                  是
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马