模块5接口与包电子课件 Java程序设计案例教程.ppt
-
资源ID:90588541
资源大小:7.95MB
全文页数:20页
- 资源格式: PPT
下载积分:10金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
模块5接口与包电子课件 Java程序设计案例教程.ppt
目录目录接口与包接口与包学习目标学习目标学习目标学习目标会编写接口。会编写接口。会实现接口。会实现接口。会使用接口。会使用接口。理解理解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 接口接口public interface Introduceable public String detail();public void introduction()detail();private void showMessage();void speak();Java接口中的方法必须是接口中的方法必须是publicJava接口中不能有方法体实现接口中不能有方法体实现 编译器会自动加上编译器会自动加上public修饰符修饰符请指出下列请指出下列Java代码中的错误代码中的错误目录目录5.2.2 包的定包的定义义和使用和使用包将类名空间划分为更加容易管理的块,包既是命名机制也是可包将类名空间划分为更加容易管理的块,包既是命名机制也是可见度控制机制见度控制机制 包允许将类组合成较小的单元(类似文件夹),使其包允许将类组合成较小的单元(类似文件夹),使其包允许将类组合成较小的单元(类似文件夹),使其包允许将类组合成较小的单元(类似文件夹),使其易于找到和使用相应的类文件易于找到和使用相应的类文件易于找到和使用相应的类文件易于找到和使用相应的类文件。有助于避免命名冲突。在使用许多类时,类和方法的有助于避免命名冲突。在使用许多类时,类和方法的有助于避免命名冲突。在使用许多类时,类和方法的有助于避免命名冲突。在使用许多类时,类和方法的名称很难决定。有时需要使用与其他类相同的名称。包名称很难决定。有时需要使用与其他类相同的名称。包名称很难决定。有时需要使用与其他类相同的名称。包名称很难决定。有时需要使用与其他类相同的名称。包基本上隐藏了类并避免了名称上的冲突基本上隐藏了类并避免了名称上的冲突基本上隐藏了类并避免了名称上的冲突基本上隐藏了类并避免了名称上的冲突。包允许在更广的范围内保护类、数据和方法,可以在包允许在更广的范围内保护类、数据和方法,可以在包允许在更广的范围内保护类、数据和方法,可以在包允许在更广的范围内保护类、数据和方法,可以在包内定义类,而在包外的代码不能访问该类包内定义类,而在包外的代码不能访问该类包内定义类,而在包外的代码不能访问该类包内定义类,而在包外的代码不能访问该类 。目录目录5.2.2 包的定包的定义义和使用和使用 要创建一个包,只要在要创建一个包,只要在Java源文件的第一条语源文件的第一条语句中写一个句中写一个package命令即可。该文件中定义的命令即可。该文件中定义的所有类都将属于指定的包。所有类都将属于指定的包。package语句定义了语句定义了一个存储类的名字空间,如果省略一个存储类的名字空间,如果省略package语句,语句,类就会被保存在一个缺省的没有名称的包中。虽类就会被保存在一个缺省的没有名称的包中。虽然省略包对于小程序来说很好用,但对于实际的然省略包对于小程序来说很好用,但对于实际的应用程序来说是不适当的。大多数情况,程序员应用程序来说是不适当的。大多数情况,程序员需要为自己编写的代码定义一个包。需要为自己编写的代码定义一个包。package声明的通用形式如下:声明的通用形式如下:package pkg;创建包创建包创建包创建包目录目录创建包package mypackage;public class Calculate public double volume(double height,double width,double depth)目录目录5.2.2 包的定包的定义义和使用和使用 要想使用包中的成员,需要将包显式地包括在要想使用包中的成员,需要将包显式地包括在Java程序中。可通过程序中。可通过import语句来实现,如下所示:语句来实现,如下所示:import package_name.*;字符字符“*”用于导入用于导入package_name包中的所有类和包中的所有类和接口。要导入一个特定类接口。要导入一个特定类/接口,可使用下面的语句:接口,可使用下面的语句:import package_name.class_name;导入包导入包导入包导入包目录目录导入包11import mypackage.Calculate;public class PackageDemo public static void main(String args)Calculate calc=new Calculate();目录目录5.2.3 Java API包包12 Java API(Java Application Interface)是)是Java的应用编程接口,即的应用编程接口,即Java API包或包或Java类库。它包类库。它包含大量已经设计好的工具类,帮助程序员进行字符含大量已经设计好的工具类,帮助程序员进行字符串处理、绘图、数据库访问、网络应用等方面的工串处理、绘图、数据库访问、网络应用等方面的工作。在程序中合理地应用作。在程序中合理地应用Java API包中的类和接口,包中的类和接口,可以大大提高编程效率。可以大大提高编程效率。目录目录5.2.3 Java API包包13 java.lang包包 它是它是Java语言中最核心的包,提供了一些语言中最核心的包,提供了一些Java程序设计中最基础的类。在编程时,该程序设计中最基础的类。在编程时,该包不需使用包不需使用import语句导入,包中的所有类语句导入,包中的所有类由系统自动加载。由系统自动加载。java.util包包 java.io包包 该包中主要包含大量的实用工具类,如该包中主要包含大量的实用工具类,如Date类、类、Calendar类、类、Random类等。类等。该包主要包含与输入该包主要包含与输入/输出相关的类与接口,输出相关的类与接口,用来对文件进行基本的操作,包括对文件用来对文件进行基本的操作,包括对文件和目录属性的操作,对文件读写的操作等。和目录属性的操作,对文件读写的操作等。目录目录5.2.3 Java API包包 包包 该包主要包含用于网络编程的相关的类与该包主要包含用于网络编程的相关的类与接口。接口。java.sql包包 java.awt包包 该包主要包含用于数据库连接与处理的相该包主要包含用于数据库连接与处理的相关的类与接口。关的类与接口。该包主要用于开发图形用户界面的早期版该包主要用于开发图形用户界面的早期版本。本。目录目录5.3 案例实施案例实施5.3.1 5.3.1 编写源代码编写源代码编写源代码编写源代码5.3.2 5.3.2 编译源代码编译源代码编译源代码编译源代码5.3.3 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 使用继承和接口实现多态的区别使用继承和接口实现多态的区别解决办法解决办法问题问题 用继承或用继承或Java接口都可以接口都可以实现多态性,那么在实际应实现多态性,那么在实际应用过程中怎样选择呢?用过程中怎样选择呢?用继承或用继承或Java接口实现多态性的具接口实现多态性的具体区别是,当两个类之间具有包含体区别是,当两个类之间具有包含关系,并且子类可以复用部分父类关系,并且子类可以复用部分父类的代码时,使用继承来实现多态;的代码时,使用继承来实现多态;其他情况优先选择用其他情况优先选择用Java接口来实接口来实现多态。现多态。应正确使用应正确使用Java语言进行面向接口语言进行面向接口编程,以提高程序的重用性,增加编程,以提高程序的重用性,增加程序的可维护性和可扩展性。程序的可维护性和可扩展性。目录目录