访问修饰符
访问修饰符
-
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() {
// ...
}
}
作者:静默虚空
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix