Java 基础 public、protected、friendly、private区别

ref: https://www.cnblogs.com/pengfeiliu/p/3745934.html

类中的数据成员和成员函数据具有的访问权限包括:public、protect、friendly(包访问权限)、private

  • public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
  • protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
  • friendly: 默认,缺省的。在成员的前面不写访问修饰符的时候,默认就是友好的。同一package中的所有类都能访问。被friendly所修饰的成员只能被该类所在同一个package中的子类所继承下来
  • private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。

作用域 当前类 同一package 子孙类 其他package 

public       √          √           √            √ 

protected √         √            √            × 

friendly     √         √            ×            × 

private     √         ×            ×             × 

不写时默认为friendly ,也即是“包访问权限”

原文地址:https://www.cnblogs.com/frankcui/p/10811344.html