Java

Java面向对象编程类的访问权限

小樊
83
2024-10-31 10:18:55
栏目: 编程语言

在Java中,类的访问权限主要有四种:public、protected、默认(无修饰符)和private。这些访问权限决定了类、变量、方法和构造函数的可见性范围。

  1. public:public访问权限是最宽松的,表示该类、方法或变量可以从任何地方访问。当一个类被声明为public时,其他任何类都可以直接实例化这个类或者访问它的public方法和变量。

  2. protected:protected访问权限介于public和默认之间。表示该类、方法或变量可以被同一个包内的其他类访问,以及所有子类(无论是否在同一个包内)访问。如果一个类是protected的,那么它可以被同一个包内的其他类以及所有子类访问。

  3. 默认(无修饰符):当类、方法或变量没有指定访问权限时,它们的访问权限默认为默认。这意味着它们只能在同一个包内的其他类访问。这种访问权限适用于只在同一个包内使用的类、方法和变量。

  4. private:private访问权限是最严格的,表示该类、方法或变量只能在声明它的类内部访问。私有成员不能被外部类访问,也不能被子类继承。通常,对于不希望被外部访问的成员(如实现细节),我们会使用private修饰符。

以下是一个简单的示例,展示了不同访问权限的类定义:

// public类
public class PublicClass {
    public int publicVar;
    protected int protectedVar;
    int defaultVar;
    private String privateVar = "default";
}

// 默认访问权限类
class DefaultClass {
    int defaultVar;
}

// 子类
class SubClass extends PublicClass {
    void accessMembers() {
        // 可以访问父类的public和protected成员
        publicVar = 1;
        protectedVar = 2;
        // 无法访问父类的defaultVar和privateVar
    }
}

0
看了该问题的人还看了