java程序设计 模块5_第1页
java程序设计 模块5_第2页
java程序设计 模块5_第3页
java程序设计 模块5_第4页
java程序设计 模块5_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

接口与包学习目标会编写接口。会实现接口。会使用接口。理解Java接口与多态的关系。会创建包和导入包。案例引入——计算各种图形的面积和周长

案例说明生活中有各种常见的规则图形,如三角形、圆、长方形、梯形等,而这些图形有着共同的特征,我们往往对这些不同的图形有着常见的操作,如求周长、求面积等。现在我们通过Java程序来实现面向对象编程,求各种图形的面积和周长。案例分析

求各种图形的面积和周长需要考虑图形的边长或半径,不同图形都要求面积和周长,我们考虑制定统一的行为规范,因此需要学习Java中接口方面的知识。5.2知识准备声卡显卡网卡每种卡的内部结构都不相同,可以把声卡、网卡、显卡都插在PCI插槽上,而不用担心哪个插槽是专门插哪个卡的主板5.2.1接口生活中的接口5.2.1接口4

Java中的接口是若干个完成某一特定功能的没有方法体的方法和常量的集合。在Java接口中定义的方法在不同的地方被实现,可以具有完全不同的行为。接口定义和类定义类似,在Java中要定义一个接口,需要使用interface关键字,接口中可以声明一些方法和常量。

接口的定义使用接口的注意事项(1)Java接口不能被实例化。(2)Java接口中声明的成员自动被设置为public,因此Java接口不能声明私有成员。(3)Java接口中不能出现方法体。(4)接口可以通过使用关键字extends继承其他接口。5.2.1接口接口的实现和使用

一旦接口被定义,一个或多个类便可以实现该接口。当一个类实现一个接口时,要在该类的定义中包括implements子句,然后实现接口所定义的全部方法。实现接口需要注意的是,当一个类实现一个接口时,必须实现接口中定义的方法,否则该类必须声明为抽象类。5.2.1接口publicinterfaceIntroduceable{publicStringdetail();publicvoidintroduction(){ detail();}privatevoidshowMessage();voidspeak();}Java接口中的方法必须是publicJava接口中不能有方法体实现编译器会自动加上public修饰符请指出下列Java代码中的错误【例】测试接口,定义接口文件Product.java,定义了两个常量,声明了一个方法。接口文件如下://程序文件名Product.javapublicinterfaceProduct{ staticfinalStringMAKER="计算机制造厂"; staticfinalStringADDRESS="上海"; publicintgetPrice(); }使用接口的源文件代码如下://程序文件名UseInterface.javapublicclassUseInterface{publicstaticvoidmain(String[]args){ Computerp=newComputer(); System.out.print(p.ADDRESS+p.MAKER); System.out.println("计算机的价格:"+p.getPrice()+"万元");}}classComputerimplementsProduct{ publicintgetPrice() { return1; }}

首先编译接口文件“javacProduct.java”,然后编译使用这个接口的类文件“javac.UseInterface.java”,最后执行类“javaUseInterface”,输出结果如图3.5所示。图3.5测试接口的输出结果5.2.2包的定义和使用包将类名空间划分为更加容易管理的块,包既是命名机制也是可见度控制机制

包允许将类组合成较小的单元(类似文件夹),使其易于找到和使用相应的类文件。

有助于避免命名冲突。在使用许多类时,类和方法的名称很难决定。有时需要使用与其他类相同的名称。包基本上隐藏了类并避免了名称上的冲突。

包允许在更广的范围内保护类、数据和方法,可以在包内定义类,而在包外的代码不能访问该类。5.2.2包的定义和使用要创建一个包,只要在Java源文件的第一条语句中写一个package命令即可。该文件中定义的所有类都将属于指定的包。package语句定义了一个存储类的名字空间,如果省略package语句,类就会被保存在一个缺省的没有名称的包中。虽然省略包对于小程序来说很好用,但对于实际的应用程序来说是不适当的。大多数情况,程序员需要为自己编写的代码定义一个包。package声明的通用形式如下:packagepkg;创建包创建包packagemypackage;publicclassCalculate{publicdoublevolume(doubleheight, doublewidth, doubledepth){……}……}

5.2.2包的定义和使用要想使用包中的成员,需要将包显式地包括在Java程序中。可通过import语句来实现,如下所示:importpackage_name.*;字符“*”用于导入package_name包中的所有类和接口。要导入一个特定类/接口,可使用下面的语句:importpackage_name.class_name;导入包导入包15importmypackage.Calculate;publicclassPackageDemo{ publicstaticvoidmain(Stringargs[]){ Calculatecalc=newCalculate(); ……}}5.2.3JavaAPI包16JavaAPI(JavaApplicationInterface)是Java的应用编程接口,即JavaAPI包或Java类库。它包含大量已经设计好的工具类,帮助程序员进行字符串处理、绘图、数据库访问、网络应用等方面的工作。在程序中合理地应用JavaAPI包中的类和接口,可以大大提高编程效率。5.2.3JavaAPI包17

java.lang包

它是Java语言中最核心的包,提供了一些Java程序设计中最基础的类。在编程时,该包不需使用import语句导入,包中的所有类由系统自动加载。

java.util包

java.io包

该包中主要包含大量的实用工具类,如Date类、Calendar类、Random类等。该包主要包含与输入/输出相关的类与接口,用来对文件进行基本的操作,包括对文件和目录属性的操作,对文件读写的操作等。

5.2.3JavaAPI包

该包主要包含用于网络编程的相关的类与接口。

java.sql包

java.awt包

该包主要包含用于数据库连接与处理的相关的类与接口。

该包主要用于开发图形用户界面的早期版本。

5.3案例实施5.3.1编写源代码5.3.2编译源代码5.3.3运行程序5.4训练与实战训练内容编写一个包名为mypackage的程序,定义Cal类,该类包含两个变量和用于执行加、减、乘、除的运算方法。然后编写测试类PackageTest,在main()方法中创建Cal类的对象,调用这些方法。

训练目的学习用包管理程序。5.4训练与实战训练过程

1.编写源代码创建Cal类,并将其放入mypackage包中。2.编译和运行程序编写运算测试类PackageTest,导入包mypackage。总结与体会在Java程序中创建类时如果不指定包名,程序会把类归入缺省包,这样容易导致命名冲突,使用用户自定义的包能够隐藏类,从而避免了这种冲突。5.5实际工作中常见问题解析5.5.1如何用接口实现多态解决办法问题

Java语言面向对象多态性的实现方法通常有方法重写、方法重载和接口等。模块4已经介绍了用方法重写、方法重载来实现多态,那么如何用接口实现多态呢?用接口实现多态与在继承中用方法重写实现多态类似,可以用接口指向其实现类对象的方式来实现多态。父接口对象可以引用子类对象,父接口对象可以调用在子类中实现的方法

。5.5.2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论