在Java中有:公有(public)、私有(private)、保护(protected)、默认(defaule)4 种访问权限。但访问权限修饰符只有3种,因为默认访问权限没有访问权限修饰符。默认访问权限是包访问权限,即在没有任何修饰符的情况下定义的类,属性和方法在一个包内都是可访问的。具体访问权限的规定如下表
私有(private) | 默认(default) | 保护(protected) | 共有(public) | |
---|---|---|---|---|
类 | 只有内部类允许私有,只能在当前类中被访问 | 可以被当前包中的所有类访问 | 只有部类可以设为保护权限,相同包中的类和其子类可以访向 | 可以被所有类访问 |
属性 | 只能被当前类访问 | 可以被相同包中的类访问 | 可以被相同包中的类和当前类的子类访问 | 可以被所有的类访问 |
方法 | 只能被当前类访问 | 可以被相同包中的类访问 | 可以被相同包中的类和当前类的子类访问 | 可以被所有的类访问 |