Java中的封装之我见

文章作者 100test 发表时间 2007:03:14 17:38:42
来源 100Test.Com百考试题网


以下是我对Java中封装概念的一点理解,不一定正确希望大家多指正。

封装就是将客户端不应看到的信息包裹起来。使内部执行对外部来看不一种不透明的、是一个黑箱,客户端不需要内部资源就能达到他的目的。下面让我们从不同角度对封装加以分析。

以最终客户的角度来看,.jar文件就是一种封装,他们不需要知道.jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果。除jar以外对于J2EE来说还有warear。区别见下表:

JAR

WAR

EAR

英文

Java Archive file

Web Archive file

Enterprise Archive file

包含内容

classproperties文件,是文件封装的最小单元

ServletJSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等

除了包含JARWAR以外,还包括EJB组件

部署文件

application-client.xml

web.xml

application.xml

级别

下面主要以程序员的角度分析:

从几个关键字说起:

1、 packageimport允许我们做的事情是分割单个全局命名空间,保证我们不会遇到名字的冲突1。由此可Java将每个class文件封装在不同的命名空间中,使外世的类与该类和与该类有关的类分隔开来。

2、 private(私有):修饰的属性或方法只能被该类自身所访问和修改,而不能被任何其他类(包括该类的子类)来获得和引用。它提供了最高的保护级别。

3、 friendly(友好):不指定访问指示符即没有关键字描述,是缺省的,缺省的元素拥有包访问权限。由于一个编译单元只能从属于单个包,所以单个编译单元内的所有类相互间是自动“友好”的。

4、 protected(受保护):用protected修饰的成员可以被三种类所引用:1)该类自身、2)与它在同一个包中的其他类、3)在其他包中的该类的子类。

5、 public(公共):它具有被所有包中的类访问的可能性,只要这些其他包中的类在程序中使用import关键字引用该类。用public修饰会造成安全性和数据封装性下降。

修饰符

同类

同包

子类

通用性

封装级别

public

1

protected

2

frendly

3

private

4

由此可见访问控制符为隐藏实施细节提供了一种方式,使代码级的对类、方法、属性的封装成为可能。用包控制符和访问控制符只是封装的手段,由此方式可以抽象出四种形式。那就是类的封装、对象的封装、方法的封装和属性的封装



相关文章


JAVA题库:格林模拟试题三(上)(7)
J2EE建议的学习路线!
技巧心得:Java人才的未来
JAVA题库:格林模拟试题三(上)(8)
Java中的封装之我见
技巧心得:SCJP培训笔记
Java中static、this、super、final用法
JAVA程序员面试之《葵花宝典》
SCJP认证套题解析之二
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛