java程序设计电子教案第四章

java程序设计电子教案第四章

ID:39968986

大小:319.50 KB

页数:71页

时间:2019-07-16

java程序设计电子教案第四章_第1页
java程序设计电子教案第四章_第2页
java程序设计电子教案第四章_第3页
java程序设计电子教案第四章_第4页
java程序设计电子教案第四章_第5页
资源描述:

《java程序设计电子教案第四章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章包和接口4.1包4.2访问保护4.3引入包4.4接口4.1包在编制大程序的时候,常常会定义许多不同用途的类。如何更好地将这些类组织起来,是一个很重要的问题。这不仅可以使程序整体清晰条理,还可以使其他项目中对这些类的引用更为方便。为此,Java引入了包的概念。包是类的容器,用于保证类名空间的一致性,例如,可以在自己的包内创建一个名为List的类而不会与别人创建的其他List类重名。由于Java是一种网络编程语言,支持在Internet上动态装载模块,因此它特别注意避免名字空间的冲突。可以认为包是一个名字空间,在该空间中,除了方法重载的情形外,同一个相同

2、类型(类、接口、变量和方法)的名字只能出现一次。而各包之间出现重名,这时系统依靠包名对重名的标识符进行区分。实际上,在程序中使用的每一个变量和方法都隐含地用全限定名进行访问。限定名的组成方式为:[格式]包名.类名.变量名或方法名下一页返回4.1包4.1.1定义包创建一个包只需要包含一个package命令作为一个Java源文件的第一句就可以了。该文件中定义的任何类将属于指定的包。package语句定义了一个存储类的名字空间。如果你省略package语句,类名被输入一个默认的没有名称的包。尽管默认包对于短的例子程序很好用,但对于实际的应用程序它是不适当的。多数

3、情况,程序编写者需要为自己的代码定义一个包。下面是package声明的通用形式:packagepkg;这里,pkg是包名。例如,下面的声明创建了一个名为MyPackage的包。packageMyPackage;上一页下一页返回4.1包Java用文件系统目录来存储包。例如,任何你声明的MyPackage中的一部分的类的.class文件被存储在一个MyPackage目录中。记住这种情况是很重要的,目录名必须和包名严格匹配。多个文件可以包含相同package声明。package声明仅仅指定了文件中定义的文件属于哪一个包。它不拒绝其他文件的其他方法成为相同包的一部

4、分。多数实际的包伸展到很多文件。你可以创建包层次。为做到这点,只要将每个包名与它的上层包名用点号“.”分隔开就可以了。一个多级包的声明的通用形式如下:packagepkg1[.pkg2[.pkg3]];上一页下一页返回4.1包包层次一定要在Java开发系统的文件系统中有所反映。例如,一个由下面语句定义的包:packagejava.awt.image;需要在你的UNIX、Windows或Macintosh文件系统的java/awt/image,javaawtimage或java:awt:image中分别保存。一定要仔细选用包名。你不能在没有对保存类的目录

5、重命名的情况下重命名一个包。上一页下一页返回4.1包4.1.2编译和运行包在介绍运用包的例子之前,我们有必要先来讲解一下类路径环境变量。因为Java编译器考虑特定位置作为包层次的根被类路径(CLASSPATH)控制。如果我们没有用到package语句,我们可以在同样的未命名的默认包中保存所有的类。这样做允许你仅仅通过在命令行键入类名编译源文件和运行Java解释器,并得到结果。这种情况下它还会工作是因为默认的当前工作目录(.)通常在类路径环境变量中为Java运行时间默认定义。然而,当有包参与时,事情就不这么简单了,如果用package语句指明一个包,则包的层

6、次结构必须与文件目录的层次相同。上一页下一页返回4.1包例如,我们在test目录下创建了一个名为packTest的类放在包test中,然后保存在文件packTest.java中。对该文件进行编译后,得到字节码文件packTest.class。如果我们直接在test目录下运行javapackTest,解释器返回”can’tfindclasspackTest”(找不到类packTest),因为这时类packTest处于包test中,对它的引用应为test.packTest,于是我们运行javatest.packTest,但解释器仍然返回“can’tfindcl

7、asstestpackTst”(找不到类testpackTest)。这时我们可以查看CLASSPATH,发现它的值为.;C:javaclasses,表明Java解释器在当前目录和Java类库所在目录c:javaclasses查找,也即在testtest目录下查找类packTest,因此找不到,改正的方法可以有两种:上一页下一页返回4.1包(1)在test的上一级目录运行javatest.packTest。(2)修改CLASSPATH,使其包括当前目录的上一级目录。由此可以看出,运行一个包中的类时,必须指明包含这个类的包,而且要在适当的目录下

8、运行,同时正确地设定环境变量CLASSPATH,使解释器能够找到指

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。