当前位置: 主页 > JAVA语言

java修饰符访问权限-Linux系统中root用户拥有所有权限修饰符的作用范围

发布时间:2023-06-20 22:10   浏览次数:次   作者:佚名

Java技术分享,四种Java修饰符的访问权限,Java语言的一大特性是封装。当把一些属性或者方法封装进容器–类里面时候java修饰符访问权限,会产生这样一种需求,就是针对不同的量或方法定义不同的访问权限,更加细粒度地维护一个类的封闭程度和私密程度。这个时候四种访问权限修饰符就派上用场了。

通俗理解,四种访问修饰符类似于Linux系统中不同用户的权限等级。Linux系统中root用户拥有所有权限,类似Java类中的public修饰的类、方法、变量拥有被所有其他对象访问和使用的权限。

下面列举了四种权限修饰符的作用范围:

Java技术分享,四种Java修饰符的访问权限

V表示能够被访问java修饰符访问权限,X表示不能被访问。

先明确类、包、子类、包外这四个相关指定访问范围的定义。

java 内部类被静态修饰_java private修饰方法_java修饰符访问权限

类----在类的内部;

包----在同一个包里面,类的外部;

子类----继承的类,可能在包里,也可能在包外;

包外----就是包的外部。

用通俗易懂的例子来解释比较容易:

1.假设某个类A,其中定义了publicinta;

java修饰符访问权限_java private修饰方法_java 内部类被静态修饰

classA{
publicinta;
}

那么在定义该变量a的类A里面可以访问该变量a;

在类A所在的包里面其他类也可以访问a;

A的所有子类可以访问a;

不拥有A类的其他包里面的类也可以访问a.

2.如果将a定义为protectinta;

java private修饰方法_java 内部类被静态修饰_java修饰符访问权限

那么在定义该变量a的类A里面可以访问该变量a;

在类A所在的包里面其他类也可以访问a;

A的所有子类可以访问a;

不拥有A类的其他包里面的类不可以访问a.

3.如果将a定义为inta(也就是不加任何权限修饰符,默认就是default):

那么在定义该变量a的类A里面可以访问该变量a;

java修饰符访问权限_java private修饰方法_java 内部类被静态修饰

在类A所在的包里面其他类也可以访问a;

A的所有子类BU可以访问a;

不拥有A类的其他包里面的类BU可以访问a.

4.如果将a定义为privateinta:

那么在定义该变量a的类A里面可以访问该变量a;

在类A所在的包里面其他类BU也可以访问a;

java修饰符访问权限_java private修饰方法_java 内部类被静态修饰

A的所有子类BU可以访问a;

不拥有A类的其他包里面的类BU可以访问a.

可见被访问权限组件降低。

其中注意public可以修饰类,但是protect不能修饰外部类。(内部类相当于变量。)

Java技术分享,四种Java修饰符的访问权限

以上就是动力节点java培训机构的小编针对“Java技术分享,四种Java修饰符的访问权限”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。