JAVA访问权限控制[zhuan]
Java的访问权限控制修饰符,从最大权限到最小权限依次是:public、protected、包访问权限(默认,没有关键字)和private。对于类的访问权限只能是:public和包访问权限(但内部类可以是private或protected的);对于类中的成员的访问权限可以是上述的四种。下面是各种访问权限的作用。
一、public修饰的类:
作用域
|
当前类 |
同一package普通类 |
其他package普通类 |
同一package子孙类 |
其他package子孙类 |
public |
√ |
√ |
√ |
√ |
√ |
protected |
√ |
√ |
× |
√ |
√ |
默认 |
√ |
√ |
× |
√ |
× |
private |
√ |
× |
× |
× |
× |
二、无修饰符(默认包访问权限)的类:
作用域
|
当前类 |
同一package普通类 |
其他package普通类 |
同一package子孙类 |
其他package子孙类 |
public |
√ |
√ |
× |
√ |
× |
protected |
√ |
√ |
× |
√ |
× |
默认 |
√ |
√ |
× |
√ |
× |
private |
√ |
× |
× |
× |
× |
其中,对于一个包里面的包访问权限类A,在其他package的类里面import类A的时候就已经出错了。所以,其他package普通类是根本就访问不了类A,其他package的类也成为不了类A的子孙类。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步