对于一些初学者对修饰词(private、default、protected、public)访问范围总是记不清楚,现在我分享一下我的记忆方法,如果觉得不错就评价一下。
修饰符 | 访问范围 | 是否被子类继承 |
private |
本类内部 | 不能被继承 |
default |
本类内部+同包的其他类 | 能被同包的子类继承 |
protected |
本类内部+同包的其他类+非同包的子类 | 能被继承 |
public |
公开,能被所有类访问 | 能被继承 |
private:私有的,他比较自私,只能自己用不愿意分享,也不愿意留给子类用,因为他太自私所以没有子类,自然就没有被继承的说法;
default:默认的(没有修饰词),他比private大方一点,资源可以给同一个包的所有类访问,但是继承也只能被同包的子类继承;
protected:受保护的,这个保护是由包(package)来保护,这个包就相当于一个家族,这里的资源整个家族都能访问,但是这个类的子类不论是否在这个家族中他都有权利访问这些资源;
public :公有的,这些资源是公有的,只要谁有需要谁就能用。