JAVA中访问权限的控制

转帖|其它|编辑:郝浩|2008-12-24 10:34:37.000|阅读 1569 次

概述:JAVA中访问权限的控制

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

文章关键字:|JAVA|访问权限|控制|包|库|静态|修饰|

  1.JAVA提供了访问权限修饰词,以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的。访问权限控制的等级,从最大权限到最小权限依次为:public, protected, 包访问权限(没有关键词), private。

  2.包:库单元。包含有一组类,他们在单一的名字空间之下被组织在一起。

  当编写一个java源代码文件时(.java),该文件被称为编译单元;每个编译单元内可以有一个public类,该类的名称必须与文件的名称相同(但不包括文件名的后缀.java)。每个编译单元只能有一个public类,否则编译器不会接受。如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,这是因为他们不是public类,而且它们主要用来为主public类提供支持。

  类库实际上是一组类文件。其中每个文件都有一个public类,以及任意数量的非public类。因此每个文件都是一个构件。如果希望这些构件从属于同一个群组(同一个包),就可以使用关键字package。如果使用package语句,它必须是文件除注释以外的第一句程序代码。

  Java包的命名规则全部使用小写字母。如果想要使用包中的任何public类,就必须使用关键字import来导入此包中的public类。从java SE 5.0开始,import语句不仅可以导入类,还增加了导入静态方法和静态域的功能。

  示例:

  如果在源文件的顶部添加一条语句:

  import static java.lang.System.*;

  就可以使用System类的静态方法和静态域,而不必加类名前缀:

  out.print(“use import static function”);

  类库设计员需要记住:package和import关键字允许你做的,是将单一的全局名字空间分割开,使得无论多少人使用internet以及JAVA开始编写类,都不会出现名称冲突问题。

  3.访问权限修饰词

  包访问权限

  默认访问权限没有任何关键字,但通常是指包访问权限。如果一个成员(类,成员方法,成员数据)没有任何权限修饰词来修饰,则它具有的是包访问权限;这意味着当前包中的所有其他类对这个成员都有访问权限,但对于这个包之外的所有类,这个成员却是private。

  public: 接口访问权限——使用关键字public,就意味着public之后紧跟着的成员声明自己对每个人都是可用的。

  private: 你无法访问——使用private关键字,就意味着除了包含该成员的类之外,其他任何类都无法访问这个成员。

  protected: 继承访问权限——使用protected关键字,意味着派生类可以访问基类的protected成员,非派生类则没有这样的权限。protected也提供包访问权限,相同包内的其他类可以访问protected成员。

  4.类的访问权限

  类既不可以是private的,也不可以是protected的。对于类的访问权限,只有两个选择:包访问权限和public。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:DIY部落

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP