访问修饰符

访问修饰符

  1. public

    • 最宽的访问级别。
    • 声明为public的类、方法、构造函数或变量可以被任何其他类访问。
    复制代码
    // 公有变量,可以被任何其他类访问
        public int publicVar = 10;
    
    
  2. private

    • 最限制的访问级别。
    • 声明为private的成员只能在其所在的类内部访问,不能从类的外部访问。
    复制代码
    // 私有变量,只能在本类中访问
        private int privateVar = 20;
    
  3. protected

    • protected成员在类及其子类中是可见的,也可以在同一个包中的其他类中访问,但不能被不同包中的非子类访问。
    复制代码
    // 受保护的变量,可以在本类和子类中访问
        protected int protectedVar = 40;
    
  4. (默认)无修饰符

    • 如果没有指定访问修饰符,Java使用包访问级别(package-private)。
    • 这意味着只有同一包中的其他类可以访问该成员,不同包中的类无法访问。
    复制代码
     // 默认变量,只能在本包中访问
        int defaultVar = 30;
    
  5. 访问控制与类和接口

    • 类和接口也可以使用publicdefault访问修饰符。public类和接口可以被任何其他类访问,而default类和接口只能被同一包中的其他类访问。
  6. 访问修饰符的组合

    • 可以组合使用访问修饰符来控制成员的访问级别。例如,public static意味着该静态成员可以被任何其他类访问。
  7. 访问修饰符的限制

    • 访问级别不能违反,例如,一个public方法不能访问一个private变量,即使是在同一个类中。
  8. 访问修饰符的使用

    • 访问修饰符的使用应遵循最小权限原则,即只为成员提供必要的访问级别,以提高封装性和安全性。

以下是访问修饰符在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() {
        // ...
    }
}

作者:静默虚空
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

posted @   糊涂图-4060  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示