在Java中,访问权限是通过使用特定的修饰词来控制的,这些修饰词定义了类、方法、变量和构造器的可见性。以下是Java中提供的访问权限修饰词及其用法:
public
定义:最宽松的访问权限,任何类都可以访问。
用法:将`public`修饰符放在类、方法或变量的声明之前。
示例:
```java
public class MyClass {
public void myMethod() {
// ...
}
}
```
protected
定义:中等的访问权限,同一个包内的类以及所有子类都可以访问。
用法:将`protected`修饰符放在类、方法或变量的声明之前。
示例:
```java
protected class MyBaseClass {
protected void myMethod() {
// ...
}
}
```
包访问权限(默认)
定义:最低的访问权限,同一个包内的类可以访问,但不同包的类无法访问。
用法:不使用任何访问修饰符,或者使用默认(friendly)访问权限。
示例:
```java
class MyClass {
void myMethod() {
// ...
}
}
```
private
定义:最严格的访问权限,只有同一个类中的成员可以访问。
用法:将`private`修饰符放在类、方法或变量的声明之前。
示例:
```java
class MyClass {
private void myMethod() {
// ...
}
}
```
建议
最小权限原则:尽量使用`private`修饰符来隐藏类的内部实现,只通过`public`或`protected`方法暴露必要的接口。
封装:通过`private`和`protected`修饰符实现类的封装,保护数据不被外部直接修改。
避免默认包:尽量为每个类指定包名,避免使用默认包,以减少命名冲突和提高代码的可维护性。
通过合理使用这些访问权限修饰词,可以有效地控制代码的可见性和安全性,从而提高代码的可维护性和可扩展性。