public/private/protected的具体区别

在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。
 
     1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
 
     2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
 
     3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。

 
  作用域                   当前类       同一package      子孙类       其他package
 
                public       √          √                √           √
 
               protected     √          √                √           ×
 
               friendly      √          √                ×           ×
 
               private       √          ×                ×           ×


public
公共,加上这个修饰的类或属性,可以在同一个包或者别的包里面访问

private
私有的,加上这个修饰的类或属性,只能在同类里访问,同包和别的包不能访问

protected
保护,加上这个修饰的类或属性,只能在类和同包访问,别的包不能访问

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章