访问修饰符
-
public:
- 最宽的访问级别。
- 声明为
public
的类、方法、构造函数或变量可以被任何其他类访问。
// 公有变量,可以被任何其他类访问 public int publicVar = 10;
-
private:
- 最限制的访问级别。
- 声明为
private
的成员只能在其所在的类内部访问,不能从类的外部访问。
// 私有变量,只能在本类中访问 private int privateVar = 20;
-
protected:
protected
成员在类及其子类中是可见的,也可以在同一个包中的其他类中访问,但不能被不同包中的非子类访问。
// 受保护的变量,可以在本类和子类中访问 protected int protectedVar = 40;
-
(默认)无修饰符:
- 如果没有指定访问修饰符,Java使用包访问级别(package-private)。
- 这意味着只有同一包中的其他类可以访问该成员,不同包中的类无法访问。
// 默认变量,只能在本包中访问 int defaultVar = 30;
-
访问控制与类和接口:
- 类和接口也可以使用
public
或default
访问修饰符。public
类和接口可以被任何其他类访问,而default
类和接口只能被同一包中的其他类访问。
- 类和接口也可以使用
-
访问修饰符的组合:
- 可以组合使用访问修饰符来控制成员的访问级别。例如,
public static
意味着该静态成员可以被任何其他类访问。
- 可以组合使用访问修饰符来控制成员的访问级别。例如,
-
访问修饰符的限制:
- 访问级别不能违反,例如,一个
public
方法不能访问一个private
变量,即使是在同一个类中。
- 访问级别不能违反,例如,一个
-
访问修饰符的使用:
- 访问修饰符的使用应遵循最小权限原则,即只为成员提供必要的访问级别,以提高封装性和安全性。
以下是访问修饰符在Java类中的使用示例:
public class AccessModifiersExample {
// 公有变量,可以被任何其他类访问
public int publicVar = 10;
// 私有变量,只能在本类中访问
private int privateVar = 20;
// 默认变量,只能在本包中访问
int defaultVar = 30;
// 受保护的变量,可以在本类和子类中访问
protected int protectedVar = 40;
// 公有方法,可以被任何其他类访问
public void publicMethod() {
// ...
}
// 私有方法,只能在本类中调用
private void privateMethod() {
// ...
}
// 默认方法,只能在本包中访问
void defaultMethod() {
// ...
}
// 受保护的方法,可以在本类和子类中访问
protected void protectedMethod() {
// ...
}
}
标签:包中,int,修饰符,private,访问,public
From: https://www.cnblogs.com/jmy3/p/18347639