在Java中,访问修饰符用来限制类、变量、方法、构造函数等成员的访问范围,Java中的访问修饰符有以下四种:
-
public
:表示公共访问级别,可以被任何类访问。 -
protected
:表示受保护访问级别,可以被类本身、子类和同一包中的类访问。 -
default
(缺省):表示默认访问级别,即如果没有使用访问修饰符,默认是此级别,可以被同一包中的类访问。 -
private
:表示私有访问级别,只能在类内部访问。
不同访问修饰符的使用场景如下:
-
public
:适用于需要在多个包中访问的类和实例变量。如果一个成员声明为public,则它对其他所有的类和对象都是可见的。 -
protected
:适用于需要在子类中访问的变量和方法。如果一个成员声明为protected,则它对它所在的类、它所在的包内的所有类以及它的子类都是可见的。 -
default
(缺省):适用于同一个包中的所有类和方法。如果一个成员没有被定义为public、protected或private,它将具有默认访问权限,即同样包中的所有类和方法都可以访问它。 -
private
:适用于需要在本类中使用的变量和方法。如果一个成员声名为private,则它只对当前类内部可见。外部类以及任何继承类都不能访问该成员。这使私有成员成为对象内部的一些详细信息,用户只需关注对象公共接口,而不需要了解对象内部的实现方式。