zoukankan      html  css  js  c++  java
  • 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中方法的访问权限。

      

      

      

  • 相关阅读:
    $POST数组论证($GET || $COOKIE || $REQUEST 同理)
    PHP之preg_replace()与ereg_replace()正则匹配比较讲解
    PHP之mysql_real_escape_string()函数讲解
    浅析白盒审计中的字符编码及SQL注入
    PHP之list()函数讲解
    PHP之implode与explode函数讲解
    PHP之Error与Logging函数讲解
    Nextcloud私有云盘在Centos7下的部署笔记
    Linux下路由配置梳理
    实验c语言不同类型的指针互用(不推荐只是学习用)
  • 原文地址:https://www.cnblogs.com/wss-is-knight/p/4154208.html
Copyright © 2011-2022 走看看