• Java权限讲解


          Java访问权限就如同类和对象一样,在Java程序中随处可见。        

       Java的访问权限,根据权限范围从大到小为:public > protected > package > private。

       在讲解之前要说明的是:这里的“使用”一词的意思是,类的实例化(实例化一个对象),属性的访问和方法的调用。

       首先讲解Java类的访问权限。Java中的类只有两种访问权限,public和package(默认访问权限)。如果一个类被public修饰,那么这个类可以在任何包中被使用。如果一个类的权限是package,那么这个类只能在其所在的包中被使用。        

       接下来讲解属性和方法的访问权限。首先属性和方法的访问权限受限于类的访问权限,即属性和方法的访问权限最大为类的访问权限。当一个属性或方法的访问权限为public时,如果其所属类的访问权限是public,那么这个属性或方法就可以在任何包中被调用;如果其所属类的权限为package时,那么这个属性或方法只能在其所属类所在的包中被调用。当一个属性或方法的访问权限为package时,那么这个属性或方法只能在其类所在的包中被调用。当一个属性或方法的访问权限是private时,那么这个属性或方法只能在类中被调用。

       然后来讲解protected来修饰属性或方法的情形。如果一个属性或方法被protected修饰,首先这个属性或方法只能在类所处的包中被使用。其次,如果有类继承了父类中的protected修饰的属性或方法,那么子类也可以访问父类中的protected属性或方法,即使子类与父类不在同一个包中。

       最后来讲解一下继承中的访问权限问题。在继承中,子类覆写父类的方法时,方法的访问权限必须大于等于父类中方法的访问权限。如果子类和父类在同一个包中,那么子类可以继承父类中被public、protected、package修饰的属性和方法。如果子类和父类不在同一个包中,那么子类只能继承父类中被public、protected修饰的方法。如果在package A中有类Base, 在package B中有类Son,Son继承Base, Base base = new Son(), 那么base对象在进行方法调用时必须知道,base对象所能调用的方法的权限是取决于Base类中方法的访问权限,而非Son中方法的访问权限。

      

      

      

  • 相关阅读:
    Confluence 6 尝试从 XML 备份中恢复时解决错误
    Confluence 6 XML 备份恢复失败的问题解决
    Confluence 6 找到在创建 XML 备份的时候出现的错误
    Confluence 6 XML 备份失败的问题解决
    c trans
    How To Use API Online?
    c string
    c function
    c array
    FileCopy
  • 原文地址:https://www.cnblogs.com/wss-is-knight/p/4154208.html
Copyright © 2020-2023  润新知