您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第7章 java 类的多态
zhy第7章类的多态教学目标与要求1.了解多态的概念2.掌握接口的定义和实现3.理解创建包和引入包zhy第7章类的多态教学重点与难点1.Java的多态性2.接口的概念与实现3.查阅Java技术文档zhy7.1多态多态是自然界普遍存在的现象。分子式为H2O的物质可以有3中形态:冰、水、汽。在Java中,可以在同一个类或不同类中定义名称相同但是操作不同的多个方法。即:一个程序中同名的不同方法共存的情况。多态性就是指运行时判断应该执行哪个方法代码的能力。zhy同一个类中定义有多个同名的方法,但有不同的参数列表(或参数个数不同、或参数类型不同、或两者都不同),而且每个方法有不同的方法体;调用时根据传递给方法的参数格式和类型决定调用的是哪个方法。Java语言多态性的2种形式:重载在子类中直接定义和父类同名(相同的方法名和参数列表)的方法,但重新编写了方法体;即子类与父类方法的名字、形参与返回值都相同,而内部处理不同;Java虚拟机会根据调用这个方法的对象类型来确定哪个方法被调用。覆盖zhy示例重载示例:利用参数的类型不同实现方法重载:AddTest.java利用参数的个数不同实现方法重载:AreaTest.java构造方法的重载覆盖示例:子类覆盖父类的成员方法:Student.javazhy333132调用重载方法时一定要给出正确的参数,系统根据给定的参数数目、类型、次序三个因素来决定到底调用哪个同名方法;定义重载方法时,参数的个数、类型或排列顺序一定要有所区别;方法返回类型的不同,不能用来区分同名方法,因不能做为方法重载的依据。关于方法重载的使用要注意以下几点:zhy方法重载与方法覆盖的比较333132重载是名称相同但参数不同的多个方法在同一个类中的表现形式;覆盖则是在具有继承关系的不同类之间,子类重新定义来自父类方法的一种表现形式;重载方法不能有相同的形参表;覆盖方法则必须有相同的方法名、形参列表和返回值;重载方法调用时利用不同的实际参数进行同类方法的选择;覆盖方法调用时利用不同的对象来选择不同类的方法。zhy7.2接口Java语言只支持类的单继承,但是只靠单继承有时是不能解决一些复杂的问题,例如:通过接口实现多重继承。交通工具车辆船飞机非机动车汽车喷气式飞机柴油机船划艇燃油zhy7.2接口接口是和类很相似而又有区别的一种结构,接口的设计和调用也是Java程序设计的重要技术。与类相似的地方:接口也有属性和方法,接口间也可以形成继承关系;与类不同的地方:属性都是常量,方法都是抽象方法。接口由常量和抽象方法构成。一个类可以实现多个接口。zhy7.2.1接口的定义接口的定义格式如下:[public]interface接口名[extends父接口名1,父接口名2,…]{//接口体常量数据成员声明;//接口中定义的常量必须初始化…;抽象方法声明;…;}和类不同,一个Java接口可以继承多个父接口,子接口也可以对父接口的方法和变量进行覆盖。zhy7.2.2接口的实现一个类实现某个接口,就必须为该接口中的所有抽象方法(包括因继承关系得到的方法)提供实现。实现接口的格式如下:class类名implements接口名1,接口名2,……{该类自身的成员变量;该类自身的成员方法;实现接口中的抽象方法;…;}示例:InterfaceTest.javazhy33343132接口捕获无关类之间的相似性,而不强迫类之间产生关系;通过接口指明多个类需要实现的方法集合的并集;通过接口了解对象的交互界面,而无需了解对象所对应的类;Java只支持单一继承,在需要多重继承的情况时,通过接口来实现。7.2.3接口的应用场合zhy文档分门别类,易于查找不同内容的文档可以放在不同的袋子中,拥有相同的名字,避免冲突易于管理7.3包zhy7.3包通常的应用程序可能需要几十个类,复杂的应用程序需要上百个、甚至更多的类。Java将相关的类组成包,有助于大型软件系统的管理。包(package)是JAVA提供的管理类和接口的工具,是Java用来管理名称空间的一种机制。包是一组相关类和接口的集合,通常称为“类库”。一个包对应一个文件夹。包是一种层次结构,包中还可以包含子包,类似于文件夹中还可以有子文件夹。zhy7.3.1创建包创建包的语法格式如下:package包名1[.子包2……];包名标识符一般采用小写字母表示,以便与类名有所区分;同一个包中的类名要唯一,不能重复;不同包中可以有相同的类名。每个JAVA源程序文件中最多只能有一条package语句,package语句必须为程序文件的第一条语句。zhy7.3.2引入包在程序起始处用import语句引入所需要的包或包中的类,格式为:import包名1[.子包2……].类|接口|*;例如:importjava.io.*;importjava.io.FileInputStream;示例:DateTest.javazhy7.3.3Java的类库Java系统事先设计并实现了许多标准类与接口的集合,每一个类与接口都属于一个特定的包。这些包被称为Java的API(应用程序接口)包,又称为Java的类库。编程者引用这些标准包中的类与接口,能够更方便、更快捷地开发Java程序。zhyJava中常见包zhy7.4本章小结了解多态的概念理解并掌握接口的定义以及使用方法常用的Java包
本文标题:第7章 java 类的多态
链接地址:https://www.777doc.com/doc-3797170 .html