Java访问控制权限

!!! note 目录

#Java访问控制权限

一、对Java中访问控制权限修饰符的对比表格

访问权限 同一类 同一包 子类 不同包的非子类
public
protected
default
private

二、Java访问控制符

在Java中,访问控制权限是通过关键字 public, protected, default (也称为 package-private),以及 private 来实现的。这些关键字用于控制类、变量、方法和构造函数的访问级别。

  1. public: 公共访问级别,被声明为 public 的类、方法、变量可以被任何其他类访问。

    1
    2
    3
    4
    5
    6
    public class MyClass {
    public int myVariable;
    public void myMethod() {
    // Some code
    }
    }
  2. protected: 受保护的访问级别,被声明为 protected 的成员可以被同一包内的其他类访问,以及继承该类的子类访问。

    1
    2
    3
    4
    5
    6
    public class MyClass {
    protected int myVariable;
    protected void myMethod() {
    // Some code
    }
    }
  3. default (package-private): 默认的访问级别,没有明确声明访问修饰符的类、方法、变量拥有默认的访问级别,它们只能被同一包内的其他类访问。

    1
    2
    3
    4
    5
    6
    class MyClass {
    int myVariable;
    void myMethod() {
    // Some code
    }
    }
  4. private: 私有访问级别,被声明为 private 的成员只能在声明它们的类内部访问。

    1
    2
    3
    4
    5
    6
    public class MyClass {
    private int myVariable;
    private void myMethod() {
    // Some code
    }
    }

三、修饰对象

  1. 类级别的修饰符

    • public: 允许类被任何其他类访问。
    • default (没有修饰符): 允许类在同一包内被访问,但在不同包内不能被访问。
    1
    2
    public class MyClass { } // 公共类
    class MyClass { } // 默认访问级别的类,即包访问权限
  2. 局部变量:局部变量是在方法、构造函数或块中声明的变量。它们不能使用访问控制权限修饰符进行修饰,因为它们的作用范围限定在声明它们的块内部,超出这个范围就无法访问。

  3. public, protected, default, private 这四种访问控制权限修饰符可以用来修饰实例方法、静态方法、静态变量和实例变量。