类成员的修饰符public、private、protected的区别
private:只能用于类的成员,可以完全隐藏类的成员,不能从类外直接访问它们。(default):允许同一个包里的任何类直接访问类的成员。protected:只能用于类的成员,允许任何包中的子类或同一包中的类访问类的成员。public:修饰符允许任意类访问类的成员。
| 使用域 | 当前类 | 同一package | 子孙类 | 其他package |
|---|---|---|---|---|
| public | ✔ | ✔ | ✔ | ✔ |
| protected | ✔ | ✔ | ✔ | ✘ |
| friendly | ✔ | ✔ | ✘ | ✘ |
| private | ✔ | ✘ | ✘ | ✘ |
| 访问包位置 | 类修饰符 | ||
| private | protected | public | |
| 本类 | 可见 | 可见 | 可见 |
| 同包其他类或子类 | 不可见 | 可见 | 可见 |
| 其他包的类或子类 | 不可见 | 不可见 | 可见 |