java修饰符有哪些?java访问修饰符的意义又有哪些?

TheDisguiser 2020-04-25 18:29:22 java常见问答 6013

在Java中有着访问修饰符这么一个存在,它可以控制你的访问权限,因为不是所有地方都能让人进去的,所以你知道Java中有几种修饰符吗?它们又有什么意义呢?跟小编一起看看吧。

Java访问修饰符及意义

Java中有四种访问修饰符:public、private、protect、default

意义:

public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不

仅可以跨类访问,而且允许跨包(package)访问。

private: Java语言中对访问权限限制最小的修饰符,一般称之为“私有的”。被其修饰的类、属性以

及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。

protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、

属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。

default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访

问。

Java中访问修饰符作用域:

java修饰符  java访问修饰符

类的只有两种public,default,不同包不能够访问

public--都可访问(公有)

private--类内可访问(私有)

protected--包内和子类可访问(保护)

不写(default)--包内可访问 (默认)

Java 方法默认访问级别 : 包访问

Java 类默认访问级别 : 包访问

对于一个Class的成员变量或成员函数,如果不用public, protected, private中的任何一个修饰,那么该成员获得“默认访问控制”级别,即package access (包访问)。

属于package access的成员可以被同一个包中的其他类访问,但不能被其他包的类访问。

包访问的控制力弱于private,但强于protected。因为一方面,只要是子类,不管子类与父类是否位于同一个包中,那么子类都可以访问父 类中的protected方法。但是一旦位于原类的包外,不管是否是其子类,都无法访问其属于package access级别的成员。而另一方面,一个类可以访问同一个包中另一个类的package access成员,同时也能访问其protected成员。

注:package是Java中的关键字,虽然包访问也是一种访问控制级别,但关键字”package”只能用来表示类属于哪个包,而不能像”private”,”public”那样放到成员变量或函数前面,作为访问控制修饰符。

访问级别保护强度:public>protected>default>private。

以上就是关于Java修饰符的所有内容了,有关Java入门知识的更多内容,请关注我们的网站了解吧。