Chinaunix首页 | 论坛 | 博客
  • 博客访问: 40803
  • 博文数量: 11
  • 博客积分: 570
  • 博客等级: 中士
  • 技术积分: 125
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-23 11:19
文章分类

全部博文(11)

文章存档

2009年(4)

2008年(7)

我的朋友

分类: Java

2008-12-21 12:17:19

JAVA学习笔记

6章 访问权限控制


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”);



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


3.访问权限修饰词


包访问权限

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


public: 接口访问权限

使用关键字public,就意味着public之后紧跟着的成员声明自己对每个人都是可用的。


private: 你无法访问

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


protected: 继承访问权限

使用protected关键字,意味着派生类可以访问基类的protected成员,非派生类则没有这样的权限。

protected也提供包访问权限,相同包内的其他类可以访问protected成员。


4.类的访问权限

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


阅读(921) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~