本文转自:http://tomcat-oracle.iteye.com/blog/2097197
Java的访问控制权限相比于C++等语言可能稍微复杂一点,不过也不难理解。Java的访问控制权限分为两块——“类或接口的访问控制权限”与“变量和方法的访问控制权限”。
1.类或接口的访问控制权限
类或接口的访问控制权限是指能不能用该类建立对象,接口能不能被实现等等。能够修饰类或接口的访问控制权限的修饰符(modifier)只有两个—— public和friendly.不过,值得一说的是friendly并不是Java的关键字,它只是一个习惯叫法,指的是“没有写访问控制权限修饰符” 的情况。
public修饰的类或接口在同一个包中的任何一个类中都可以被访问。不同包呢?当然能访问啦,否则引包机制不就失效了嘛(因为引包相当于拿到了一个包的public类或接口)。
friendly修饰的类或接口在同一个包中的任何一个类中都可以被访问(和public相同),不能被不同包中的类访问。
总结:类或接口的访问控制权限分为“包中”和“包外”。无论修饰符(modifier)是什么,在“包中”均可访问。对于“包外”,public修饰的类或接口可以被访问,friendly修饰的类或接口不能被访问。
2.变量和方法的访问控制权限
变量和方法的访问控制权限的修饰符(modifier)有四个——public,protected,friendly和private.
变量和方法在本类(定义该变量或方法的类)中不论访问控制权限修饰符是什么,均可被访问(这里先不考虑“静态”的情况)。那么接下来只研究类外。类外也 分“包内”和“包外”,接下来就从这两方面说起,并且研究“包外”时只考虑引入的包中的public类,因为friendly的类连直接被访问都做不到, 何谈访问变量和方法。
public修饰的变量和方法在“包内”和“包外”均可被访问。
protected修饰的变量和方法在“包内”可以被访问,在“包外”只能被子类访问。
friendly修饰的变量和方法在“包内”可以被访问,在“包外”不能被访问。
private修饰的变量和方法在“包内”或“包外”均不能被访问。
总结:对于“类外”,public,protected,friendly和private的严格性逐渐递增。public可以说没限 制,protected剥夺了“包外”非子类的访问能力,friendly在protected基础上进一步剥夺了“包外”子类的访问能力,至此“包外” 的访问能力全无;private更严格,它在friendly基础上更是一下剥夺了“包内”的访问能力。
总的来说,看某个成员能否被访问要分两步:1.根据所在类的访问控制权限看该类能否被访问;2.根据该成员的访问控制权限判断取得所在类后该成员能否被访问。
分享到:
相关推荐
Java访问权限控制源代码
很清楚的分析与讲解Java的访问权限的控制
Java访问权限控制源代码.zip
java源码:Java访问权限控制源代码.rar
Java访问权限控制源代码.7z
Java访问权限控制源代码.rar
主要给大家介绍了关于Java访问权限控制的重要性的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要帮助大家深入的理解Java访问权限控制,为何需要访问控制权限,本文给出了解释,感兴趣的小伙伴们可以参考一下
权限访问控制管理后台 用途 :rbac的权限访问控制管理后台 搭建方式 : springBoot+myBatis+Maven+jsp+mysql 运行步骤 1.创建数据库 2.还原数据库(sql文件位于resource中) 3.启动应用 访问链接:localhost:8077/...
简要叙述什么是访问控制符,列出Java中的访问控制符,并说明各个访问控制符的控制权限
Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
Java源码包100个设计实例, 大量 实例,可以...Java访问权限控制源代码.rar Java读写文本文件的示例代码 Java赌神游戏网络版源代码.rar Java超市管理,SQL2000+源代码.rar Java超市进销存系统.rar Java软件度量源码.ra
基于Java的访问权限控制源代码.zip
基于java的访问权限控制源代码.zip
浅析Java中的访问权限控制Java开发Java经验技巧共8页.pdf.zip
NULL 博文链接:https://tonysmith.iteye.com/blog/1431942
Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...