《java语言程序设计实验指导》电子教案第06章

《java语言程序设计实验指导》电子教案第06章

ID:36321637

大小:406.81 KB

页数:16页

时间:2019-05-09

《java语言程序设计实验指导》电子教案第06章_第1页
《java语言程序设计实验指导》电子教案第06章_第2页
《java语言程序设计实验指导》电子教案第06章_第3页
《java语言程序设计实验指导》电子教案第06章_第4页
《java语言程序设计实验指导》电子教案第06章_第5页
资源描述:

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

1、第6章包和接口包和接口是Java语言最具革新性的两个特点所在。包是Java类的容器,而接口则是类的方法。本章将对这两个方面的内容作具体介绍。6.1Java中的包6.2接口[Return]6.1Java中的包包(package)是类的容器,用来保存划分的类名空间。包以分层方式保存并被明确地引入新的类定义。本节将对Java中包的相关问题进行讨论。6.1.1包的创建6.1.2关于类路径6.1.3一个简单的例子6.1.4访问保护6.1.5包的导入[Return]6.1.1包的创建Java提供了把类名空间划分为更多易管理的块的

2、机制,这种机制就是包。包既是命名机制也是可见度控制机制。我们可以在包内定义类,而且在包外的代码不能访问该类。这使得各个类之间有隐私,但不被外界所知。创建一个包是很简单的:只要包含一个package命令作为一个Java源文件的第一句就可以了。该文件中定义的任何类将属于指定的包。package语句定义了一个存储类的名字空间。如果省略package语句,类名被输入一个默认的没有名称的包(这是为什么在以前不用担心包的问题的原因)。尽管默认包对于短例程序很好用,但对于实际的应用程序是不适当的。多数情况,需要为自己的代码定义一个

3、包。下面是package声明的一般形式:packagepkg;这里,pkg为包名。Java用文件系统目录来存储包。记住这种规则是很重要的,目录名称必须和包名严格匹配。多个文件可以包含相同package声明。package声明仅仅指定了文件中所定义的类属于哪一个包。它不拒绝其他文件的其他方法成为相同包的一部分。多数实际的包伸展到很多文件。我们可以创建包层次。为做到这点,只要将每个包名与它的上层包名用点号“.”分隔开就可以了。一个多级包的声明的通用形式如下:packagepkg1[.pkg2[.pkg3]];包层次一定要

4、在Java开发系统的文件系统中有所反映。[Return]6.1.2关于类路径假设你在一个test包中创建了一个名为PackTest的类。由于你的目录结构必须与包相匹配,创建一个名为test的目录并把PackTest.java装入该目录。然后,使test成为当前目录并编译PackTest.java。这导致PackTest.class被存放在test目录下。当试图运行PackTest时,java解释器报告一个与“不能发现PackTest类”相似的错误消息。这是因为该类现在被保存在test包中,不再能简单用PackTest

5、来引用。必须通过列举包层次来引用该类。引用包层次时用点号将包名隔开。该类现在必须叫做test.PackTest。然而,如果你试图用test.PackTest,将仍然收到一个与“不能发现test/PackTest类”相似的出错消息。仍然收到错误消息的原因隐藏在类路径变量中。记住,类路径设置顶层类层次。问题在于在当前工作目录下不存在test子目录,因为你此时是工作在test目录。在这个问题上你有两个选择:改变目录到上一级然后用javatest.PackTest,或者在类路径环境变量增加开发类层次结构的顶层。然后就可以使用

6、javatest.PackTest了。例如,如果源代码在目录C:myjava下,那么应设置类路径为:.;C:myjava;C:javaclasses[Return]6.1.3一个简单的例子详细分析并运行教材P156~157页使用包的例子。[Return]6.1.4访问保护在前面的章节中已经学习了Java的访问控制机制和访问说明符。例如,我们已经知道一个类的private成员仅可以被该类的其他成员访问。包增加了访问控制的另一个维度。正如读者所看到的,Java提供很多级别的保护以使在类、子类和包中有完善的访问控制

7、。类和包都是封装和容纳名称空间和变量及方法范围的方法。包就像盛装类和下级包的容器。类就像是数据和代码的容器。类是Java的最小的抽象单元。因为类和包的相互影响,Java将类成员的可见度分为四个种类:l相同包中的子类l相同包中的非子类l不同包中的子类l既不在相同包又不在相同子类中的类三个访问控制符,private、public和protected,提供了多种方法来产生这些种类所需访问的多个级别,教材P158页表6-1中总结了它们之间的相互作用。1.关于访问保护分析教材P158~160页的例子,该例显示了访问修饰符的所有

8、组合,在该例中有两个包和五个类。记住,这两个不同包中的类需要被存储在以它们的包p1、p2命名的目录下。第一个包中定义了三个类:Protection,Derived,和SamePackage。第一个类以合法的保护模式定义了四个int变量。变量n声明成默认受保护型。n_pri是private型,n_pro是protected,n_pub是publi

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

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

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