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 ,也即是“包访问权限”。