
一、访问修饰符是什么
Java中的访问修饰符用于控制类、接口、构造函数、方法和数据成员(字段)的可见性和访问级别。
Java提供了四种访问修饰符:
二、访问修饰符详细介绍
对于访问修饰符修饰变量和修饰方法(包括构造器)的可访问情况都是一致的,我们下面以每个访问修饰符修饰成员变量作为例子。
1、public
- 访问权限:最高,可以被任何其他类访问。
- 适用范围:类、接口、构造器、方法和字段。

com.pack2 包中:
讯享网讯享网
这里可以看到同一类中可以访问 public 修饰的成员变量,同一个包中可以访问 public 修饰的成员变量。
com.pcak1 包中:
讯享网
这里可以看到在不同包的非子类和子类中都可以访问到 public 修饰的成员变量。
2、protected
- 访问权限:可以被同一个包中的任何类访问,以及不同包中的子类访问。不能被不同包的非子类访问。
- 适用范围:构造函数、方法和字段。

com.pack2 包中:
可以看到这里 protected 修饰的成员变量可以在同一个类中和同一个包中访问。
com.pcak1 包中:
可以发现这里 protected 修饰的成员变量不能在不同包的非子类中访问。这里会报以下错:
但是在子类中就可以访问,就像下面:
可以发现 protected 修饰的成员变量可以在不同包的子类中被访问。
3、默认(没有访问修饰符)
- 访问权限:可以被同一个包中的任何类访问,但不能被不同包中的类访问。
- 适用范围:类、接口、构造函数、方法和字段。


com.pack2 包中:
可以发现默认的访问权限(没有访问修饰符)的成员变量可以在同一个类中访问,也可以在同一个包中访问。
com.pcak1 包中:
可以发现默认访问权限(没有访问修饰符)的成员变量不能在不同包的非子类中访问。这里会报错:
可以发现默认访问权限(没有访问修饰符)的成员变量不能在不同包的子类中访问。这里会报错:
java最基础的访问修饰符
4、private
- 访问权限:最低,只能被定义它的类内部访问。
- 适用范围:构造函数、方法和字段。

com.pack2 包中:
可以发现 private 修饰的成员变量只能在同一个类中被访问。
可以发现 private 修饰的成员变量不能在同一个包中被访问。这里会报错:
com.pcak1 包中:
可以发现 private 修饰的成员变量不能在不同包的非子类中被访问。这里会报错:
可以发现 private 修饰的成员变量不能在不同包的子类中被访问。这里会报错:
三、补充
1、适用范围
我们在文章最开始就给出了这个表格:
这里标出了这四个访问修饰符的适用对象。
对于 public 和默认(什么都不写)是适用于类、接口、成员变量和成员方法的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/207.html