Java 权限修饰符

指在Java中用于限定使用范围的关键字

 

本类中

子类中

同包类中

其他类中

public

可以

可以

可以

可以

protected

可以

可以

可以

不可以

默认

可以

同包子类可以

可以

不可以

private

可以

不可以

不可以

不可以

public:接口访问权限

使用public关键字,就意味着被声明的成员或方法对所有人都是可以访问的

private:无法访问

使用private关键字,就意味着被声明的成员或方法,除了本类,其他任何类都无法访问

protected:继承访问权限

新类(称之子类或派生类)通过继承可以复用一个现有类(称之父类或基类),然后扩展基类的成员、方法。

有时,基类的创建者会希望某个特定成员,将它的访问权限赋予派生类而不是所有类。

public无法做到这一点,为此,引入了protected来完成这一工作。

protected也提供包访问权限,也就是说,派生类以及相同包内的其他类都可以访问protected成员或方法

class B extends A{
    int b = 22;

}

class C extends B{
    protected void c() {
        System.out.println("C类--保护");
    }
}

class D extends C{
    private void d() {
        System.out.println("D类--私有");
    }
}

public class A {
    public void a() {
        System.out.println("A类--公共");
    }
    
    
    public static void main(String[] args) {
        D d = new D();
        d.a();
        d.c();
        //d.d(); 不允许调用,只允许D类里面进行调用
        System.out.println(d.b);
    }
}

运行结果:

A类--公共
C类--保护
22
原文地址:https://www.cnblogs.com/chuijingjing/p/9461165.html