访问修饰符

访问修饰符

  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 @ 2024-08-07 18:41  糊涂图-4060  阅读(39)  评论(0)    收藏  举报