`
如若_晴
  • 浏览: 111340 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

java的访问权限控制

阅读更多
本文转自: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访问权限控制源代码"中,可能包含示例类,这些类展示了如何使用不同的访问修饰符来控制类、变量和方法的可见性。`readme.md`文件可能包含了代码的介绍和使用指南。 通过学习和理解Java的访问权限控制...

    Java访问权限控制源代码.zip

    这个"Java访问权限控制源代码.zip"压缩包可能包含了示例代码,用于演示Java中的不同访问修饰符如何工作以及如何实施访问控制。现在,我们将深入探讨Java中的访问权限控制机制。 首先,Java提供了四种访问级别: 1....

    Java访问权限控制

    很清楚的分析与讲解Java的访问权限的控制

    JAVA源码Java访问权限控制源代码JAVA源码Java访问权限控制源代码

    JAVA源码Java访问权限控制源代码JAVA源码Java访问权限控制源代码

    Java访问权限控制源代码.rar

    本资源"Java访问权限控制源代码.rar"可能包含了一系列示例,用于展示如何在Java中应用不同的访问修饰符,以及它们如何影响类、方法和变量的可见性。现在,我们将深入探讨Java的访问权限控制。 1. 访问修饰符概述: ...

    Java访问权限控制源代码.7z

    Java访问权限控制是Java编程语言中的核心特性之一,它为类和类的成员(如方法、变量)提供了安全的封装,确保代码的可维护性和稳定性。在这个压缩包中,我们很可能会找到关于Java访问修饰符的示例代码,用于演示不同...

    java源码资源Java访问权限控制源代码

    java源码资源Java访问权限控制源代码提取方式是百度网盘分享地址

    java源码:Java访问权限控制源代码.rar

    java源码:Java访问权限控制源代码.rar

    Java访问权限控制的重要性深入讲解

    Java访问权限控制是编程中的核心概念,它直接影响到代码的可维护性、安全性和扩展性。本文将深入探讨Java访问权限控制的重要性,并解释为何需要它,以及如何使用不同的权限修饰符,如`public`、`private`和`...

    理解Java访问权限控制

    Java访问权限控制是编程中非常重要的概念,它用于限制代码的可访问性,确保数据的安全性和封装性。本文将深入探讨为何需要访问权限控制,并详细解释Java中的四种访问权限:默认(包访问权限)、public、private和...

    基于Java的实例源码-访问权限控制源代码.zip

    以下是对Java访问权限控制的详细解释。 1. **访问修饰符**: - **public**:公共访问修饰符,定义的类、接口、方法或变量可以在任何地方被访问。 - **private**:私有访问修饰符,只能在同一个类内部访问。这是...

    java后台权限控制

    Java 后台权限控制是构建安全的Web应用中不可或缺的一部分,它确保了用户只能访问他们被授权的操作和数据。在Java开发中,Apache Shiro是一个非常流行的安全框架,用于实现身份验证、授权(权限控制)、会话管理和...

    java写的一个权限控制的插件

    总之,这个名为`jsecurity-0.9.0`的Java权限控制插件提供了管理和限制用户访问权限的功能,可能是基于Jaas或其他相关技术实现。通过对源码的深入学习,开发者可以借鉴其设计理念和实现方法,为自己的项目构建更安全...

    java 访问权限验证

    在Java编程语言中,访问权限控制是至关重要的一个部分,它确保了代码的封装性和安全性。本文将深入探讨Java中的访问权限验证,包括其概念、种类以及如何在实践中应用。 **一、访问权限概述** Java提供了四种不同的...

    Java 中的访问权限控制

    在Java编程语言中,访问权限控制是至关重要的概念,它决定了类、接口、字段和方法的可见性。这种控制机制确保了代码的封装性和安全性,防止未经授权的访问和操作。以下是对这一主题的详细探讨: 1. 访问修饰符: ...

    java spring AOP权限控制

    Java Spring AOP 权限控制 Java Spring AOP 权限控制是指在 Java Spring 框架下使用 Aspect-Oriented Programming(面向方面编程)技术来实现权限控制。权限控制是指对用户的访问权限进行控制和管理,以确保系统的...

    java 用户权限管理图

    因此,我们需要设计一个权限管理系统,来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将会将他们彻底的“拒之门外”。 在设计权限管理系统时,我们需要考虑...

    java访问权限修饰符public.doc

    java 访问权限修饰符详解 在 Java 语言中,访问权限修饰符是指用来限定类、成员变量和方法的可访问范围的关键字。访问权限修饰符分为四种:public、protected、friendly 和 private。每种修饰符都有其特定的访问...

Global site tag (gtag.js) - Google Analytics