Java中的权限修饰符

 

一、方法和属性访问权限的分类与等级分类表

访问权限 本类 非本类
同包 不同包
继承 非继承 继承 非继承
public
protected  
friendly(default)    
private        

二、friendly and protected 

    (注:此处解释private与public修饰符)

    1、friendly

        I、friendly是系统默认的条件修饰符,当权限控制符不写时系统自动将默认为friendly

        II、friendly在同包中无论是继承或非继承均可以被其他类调用

Java中的权限修饰符

            可以看出friendly在同包的非继承关系中是可以被调用的

        III、friendly在不同包中无论是继承或非继承均可以被被其他类调用

Java中的权限修饰符

           子类Son中调用构造方法Person构造方法失败,且本身也没有继承到person中含有friendly修饰的属性和方法;

    2、protected

         I、protected是一个权限高于friendly的类型,其含有上述friendly的所有权限;

        II、protected在不同包继承关系的特殊情况;

            一、非static类型

                此时只能通过子类进行引用protected修饰的变量

Java中的权限修饰符

                可以看出,这里仅仅被继承的子类中可以引用被protected修饰的属性与方法

            二、static类型

                被protected修饰的属性和方法子类与父类创建的对象均可调用;

Java中的权限修饰符

                这里要注意一点:构造方法只可被权限控制符修饰,但是通过调用时person(父类)可以使用静态修饰的变量age可以看出上述结论成立。

这就是今天要讲的全部内容。。。