在Java中,访问修饰符决定了类、方法、变量和构造器的可见性和可访问范围。这里有四个主要的访问修饰符:private、default(未显式指定)、protected 和 public。下面分别解释它们的作用:
1.private
作用:使用 private 修饰的成员(变量、方法或构造器)只能在声明它的那个类内部被访问。
示例:如果一个变量被声明为 private,那么只有声明该变量的类中的方法能够访问它。
2.default (未显式指定)
作用:当没有指定任何访问修饰符时,默认是 default 访问级别。这种情况下,成员仅对其所在包内的类可见。
示例:没有修饰符的成员,只允许在同一个包下的其他类访问。
3.protected
作用:protected 成员不仅允许在声明该成员的类及其子类中访问,还可以被同一个包下的其他类访问。
示例:一个类的 protected 成员可以被其子类和其他同一包内的类访问,但不能被包外的非子类访问。
4.public
作用:使用 public 修饰的成员对任何类都可见。无论是否在同一包下,所有的类都可以访问 public 成员。
示例:如果一个方法或变量被声明为 public,那么它可以被任何类访问,无论这些类是否在同一个包下。
通过以下图表总结这四个访问修饰符的可见性:
修饰符 本类 同一包 不同包的子类 不同包的非子类
理解这些访问修饰符有助于设计类的封装性和控制类之间数据的访问级别。适当的使用它们可以增强代码的安全性并减少不必要的耦合。