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中方法的访问权限。
Java权限讲解的更多相关文章
- Java 权限框架 Shiro 实战二:与spring集成、filter机制
转自:https://www.cnblogs.com/digdeep/archive/2015/07/04/4620471.html Shiro和Spring的集成,涉及到很多相关的配置,涉及到shi ...
- (转)深入浅出linux系统umask值及其对应的文件权限讲解
浅出linux系统umask值及其对应的文件权限讲解 原文:http://blog.51cto.com/oldboy/1060032 缘起:1.此文的撰写特别为感谢51cto的博客工作人员和领导,老男 ...
- java集合讲解
java集合讲解 1.概述 集合类的顶级接口是Iterable,Collection继承了Iterable接口 常用的集合主要有 3 类,Set,List,Queue,他们都是接口,都继于Collec ...
- java权限管理与用户角色权限设计
java权限管理与用户角色权限设计 实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器 ...
- java 权限控制
网上或参考书中,对于java权限控制大多给出一张看似很整齐很好记实则不好理解的表格,我整理了一个2.0升级版,自认为会好理解很多,希望可以有所帮助. 同一包内 不同包内 修饰符 当前类 非当前类(含子 ...
- Java ActiveMQ 讲解(一)理解JMS 和 ActiveMQ基本使用(转)
转自:http://www.cnblogs.com/luochengqiuse/p/4678020.html?utm_source=tuicool&utm_medium=referral 最近 ...
- Java 权限修饰符
Java应用有很多类,但有些类并不希望被其他类使用.每个类中都有数据成员和方法成员,但是并不是每个数据和方法,都允许在其他类中调用.如何能做到访问控制呢?就需要使用访问权限修饰符. Java语言中的访 ...
- java泛型讲解
原文: https://blog.csdn.net/briblue/article/details/76736356 泛型,一个孤独的守门者. 大家可能会有疑问,我为什么叫做泛型是一个守门者.这其实是 ...
- Java 权限框架 Shiro 实战一:理论基础
Apache Shiro 官网地址:http://shiro.apache.org/ Apache Shiro is a powerful and easy-to-use Java security ...
随机推荐
- 奇妙华为3c手机, 出现安装未成功问题。
1.我会命令adb uninstall 先卸载我们有签名的安装包. 2.用开发模式在手机上执行我们的应用. 3.然后測试就把手机拿走了,就用应用管理器把我们的应用卸载了. 4.继续装我们的开发包,死活 ...
- cocos2dx libiconv 转码
iconv下载(Android)已编译完的iconv包(用这个即可) ios自带libiconv,只需#include <iconv.h>即可 步骤 1.libiconv解压文件放置 直 ...
- C#_ajax fileupload
@{ ViewBag.Title = "Index"; Layout = null; } <h2>Index</h2> <script src=&qu ...
- Pass value from child popup window to parent page window using JavaScript--reference
Here Mudassar Ahmed Khan has explained how to pass value from child popup window to parent page wind ...
- 2014年GCT考试报名时
第一阶段: 网上报名时间预计为2014年6月20日至2014年7月10日. 考生可在6月20日后在中国学位与研究生教育信息网(http://www.chinadegrees.cn/)网站报名.网报时按 ...
- Spreadsheet Tracking
Spreadsheet Tracking Data in spreadsheets are stored in cells, which are organized in rows (r) and ...
- Integer的缓存和自动拆装箱
先看一个简单的例子: public class TestInteger { public static void main(String[] args) { System.out.println(&q ...
- 用CCRenderTexture和BlendFunc制作游戏教学时使用的黑色覆盖层
游戏快要完成了,准备做教学. 我们的教学是在整个界面上盖一层灰色图片,然后把提示点击的按钮部分亮出来,也就是在一块黑色图片上,按需求扣空一小部分.如图,把武器部分扣空,那么在其它地方又会扣空其它部分, ...
- linux 文件夹权限及umask
先创建一个目录,看看权限: $ ll 总用量 drwxrwxr-x huangxm huangxm 2月 : ./ drwxr-xr-x huangxm huangxm 2月 : ../ drwxrw ...
- SqlServer高版本数据本分还原到低版本方法
最近遇见一个问题: 想要将Sqlserver高版本备份的数据还原到低版本SqlServer上去,但是这在SqlServer中是没法直接还原数据库的,所以经过一系列的请教总结出来一下可用方法. 首先.你 ...