java权限修饰符有几种?区别在哪?

TheDisguiser 2020-04-26 14:07:05 java常见问答 7395

在一个开发项目中,总会有一些地方不能让人进去,这时就需要权限修饰符来帮忙了,你们知道都有哪几种权限修饰符吗?它们又有什么特别的地方呢?一起来看看吧。

首先了解一下概念:

在java中有四种权限修饰符:范围从大到小分别是:public、protect、default(friendly)、private,它们之间的区别是:

public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。

protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。

default: 这个访问权限可能是很多人容易所忽视的,即不写任何关键字。默认权限(同包权限)即:包内可访问,包外不可访问,不管是子类还是没有继承关系的类。

private: 只能在当前类中使用,外部不能访问。

理解:什么是同包与不同包?

这个很好理解,例如把包看成文件夹,包里面的东西就是文件,在同一个文件夹里面文件的就是同包。

代码如下:

package a:
    //function1声明在a包中
    public class function1
    {
        //声明的变量与方法;
    }
package b;
//function2声明在b包中
public claass function2
{
    //声明的变量与方法;
} /*请输入您需要格式化的代码*/

权限符同包下的作用域:

java权限修饰符

结:在同包的前提下,继承时,子类只能继承父类中的public、protected以及default访问权限的成员变量或方法,并且继承之后,这些成员变量或方法的访问权限和之前的一样,如父类中是public,继承后还是public。

不同包下的作用域:

java权限修饰符

结:不同包的前提下,继承时,子类只继承父类中的public和protected访问权限的成员变量或方法作为子类自己的成员变量或方法。

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