第四讲类对象和接口精选PPT.ppt
《第四讲类对象和接口精选PPT.ppt》由会员分享,可在线阅读,更多相关《第四讲类对象和接口精选PPT.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四讲类对象和接口第1页,此课件共93页哦第四讲第四讲 类、对象和接口类、对象和接口4.11 abstract 4.11 abstract 类和类和abstractabstract方法方法4.12 super4.12 super关键字关键字4.13 4.13 接口接口4.14 4.14 内部类内部类4.15 4.15 匿名类匿名类4.16 4.16 异常类异常类4.17 Class4.17 Class类类4.18 4.18 基本类型的类包装基本类型的类包装4.19 4.19 反编译和文档生成器反编译和文档生成器4.20 jar4.20 jar文件文件第2页,此课件共93页哦第四讲第四讲 类、对
2、象和接口类、对象和接口 一、教学目的一、教学目的 理解类、对象和接口之间的关系,熟练掌握类理解类、对象和接口之间的关系,熟练掌握类的设计方法、对象的使用方法,接口的定义方法,的设计方法、对象的使用方法,接口的定义方法,熟练运用实例成员和类成员编写程序,了解包的基熟练运用实例成员和类成员编写程序,了解包的基本使用方法。本使用方法。二、教学内容:二、教学内容:本章主要介绍类和对象之间的关系,握类本章主要介绍类和对象之间的关系,握类的设计方法、对象的使用方法,以及包的基本的设计方法、对象的使用方法,以及包的基本使用方法。使用方法。第3页,此课件共93页哦第四讲第四讲 类、对象和接口类、对象和接口三、
3、重点及难点内容:三、重点及难点内容:重点:重点:1、仔细体会面向对象编程的思想;、仔细体会面向对象编程的思想;2、熟练理解类和对象的概念,理解面向、熟练理解类和对象的概念,理解面向对象的特性;对象的特性;3、会编写简单的类,逐渐掌握面向对象、会编写简单的类,逐渐掌握面向对象编程的方法。编程的方法。四、难点:四、难点:面向对象编程思想的建立。面向对象编程思想的建立。第4页,此课件共93页哦第四讲第四讲 类、对象和接口类、对象和接口四、课前思考四、课前思考 1、什么是对象?什么是类?、什么是对象?什么是类?2、面向对象编程的特性有哪三个?它面向对象编程的特性有哪三个?它们各自又有哪些特性?们各自又
4、有哪些特性?3、你知道你知道java语言在面向对象编程方面语言在面向对象编程方面有何独特的特点吗?有何独特的特点吗?第5页,此课件共93页哦4.1编程语言的几个发展阶段 1、机器语言(汇编语言)、机器语言(汇编语言)计算机处理信息的早期语言是所谓的机器语言,这种计算机处理信息的早期语言是所谓的机器语言,这种语言中的指令都是由语言中的指令都是由0,1组成的序列,称这样的序列为一条组成的序列,称这样的序列为一条机器指令。机器指令。2、过程语言(、过程语言(C语言)语言)面向过程语言把代码组成叫做过程或函数的块。面向过程语言把代码组成叫做过程或函数的块。每个块的目标是完成某个任务,例如,一个每个块的
5、目标是完成某个任务,例如,一个C的源程的源程序就是由若干个书写形式互相独立的函数组成。序就是由若干个书写形式互相独立的函数组成。3、面向对象语言(、面向对象语言(JAVA,C+)面向对象编程更符合人的思维模式,主要体现在以面向对象编程更符合人的思维模式,主要体现在以下三个特性上。下三个特性上。第6页,此课件共93页哦4.1编程语言的几个发展阶段 1)封装性)封装性 封装是面向对象编程的核心思想之一,就是将数据和封装是面向对象编程的核心思想之一,就是将数据和对数据的操作封装在一起,也就是一个对象将自己的数据对数据的操作封装在一起,也就是一个对象将自己的数据和对这些数据的操作合理有效地封装在一起。
6、和对这些数据的操作合理有效地封装在一起。封装将类的外部界面与类的功能实现区分开来,隐藏实封装将类的外部界面与类的功能实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。即使实现使用外部界面,通过访问接口实现对数据的操作。即使实现细节发生了改变,也还可通过界面承担其功能而保留原样,细节发生了改变,也还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作。这使代码维护更简单。确保调用它的代码还继续工作。这使代码维护更简单。第7页,此课件共93页哦4.1编程语言的几个发展阶段 2
7、)继承)继承 3)多态)多态 多态是面向对象编程的有一个重要特征。多态有两多态是面向对象编程的有一个重要特征。多态有两种含义:种含义:一种是:操作名称的多态,即有多个操作具有相同的一种是:操作名称的多态,即有多个操作具有相同的名字,但这些操作所接收的消息类型必须不同(在名字,但这些操作所接收的消息类型必须不同(在JAVA中体现在方法重载上)。中体现在方法重载上)。另一种:是和继承有关的多态,是指同一个操作被另一种:是和继承有关的多态,是指同一个操作被不同类型对象调用时可能产生不同的行为。不同类型对象调用时可能产生不同的行为。例如:狗和猫都喊叫,狗发出的是例如:狗和猫都喊叫,狗发出的是“汪汪汪汪
8、”而猫是而猫是“喵喵喵喵”(在在JAVA中体现在覆盖上中体现在覆盖上)。)。第8页,此课件共93页哦4.2类 类是类是Java的核心,也是类是组成的核心,也是类是组成Java程序的基本要程序的基本要素。类封装了一类对象的状态和方法。类是用来定义对素。类封装了一类对象的状态和方法。类是用来定义对象的模板。类是对具有相同属性和方法的一组相似对象象的模板。类是对具有相同属性和方法的一组相似对象的抽象,或者说类是对象的模板。的抽象,或者说类是对象的模板。类的实现包括两部分类的实现包括两部分:类声明和类体。类声明和类体。第9页,此课件共93页哦4.2类 1、类声明、类声明 类的声明格式如下:类的声明格式
9、如下:修饰符修饰符 class extends 父类名父类名 implements 接口名接口名 类主体类主体 class People 第10页,此课件共93页哦4.2类 2、类体、类体 1)写类的目的是为了描述一类事物共有的属性和)写类的目的是为了描述一类事物共有的属性和功能,描述过程由类体来实现。类声明之后的一对大括功能,描述过程由类体来实现。类声明之后的一对大括号号“”,“”以及它们之间的内容称做类体,大括以及它们之间的内容称做类体,大括号之间的内容称做类体的内容。号之间的内容称做类体的内容。2)类体的内容由两部分构:一部分是)类体的内容由两部分构:一部分是变量的定变量的定义义,用来刻
10、画属性;另一部分是方法的定义,用来用来刻画属性;另一部分是方法的定义,用来刻画功能。刻画功能。第11页,此课件共93页哦4.2类 3)声明成员变量的格式为:)声明成员变量的格式为:修饰符修饰符 声明成员方法的格式为:声明成员方法的格式为:(参数列表参数列表)throws 方法体方法体第12页,此课件共93页哦4.2类class 梯形梯形 float 上底上底,下底下底,高高,laderArea;/变量定义部分变量定义部分 float 计算面积计算面积()/方法定义方法定义 laderArea=(上底上底+下底下底)*高高/2.0f;return laderArea;void 修改高修改高(fl
11、oat h)/方法定义方法定义 高高=h;第13页,此课件共93页哦4.24.2类类 3、成员变量和局部变量、成员变量和局部变量 1)我们已经知道类体分为两部分。变量定义)我们已经知道类体分为两部分。变量定义部分所定义的变量被称为类的成员变量。在方法体部分所定义的变量被称为类的成员变量。在方法体中定义的变量和方法的参数被称为局部变量。中定义的变量和方法的参数被称为局部变量。2 2)成员变量在整个类内都有效,局部变量只在定)成员变量在整个类内都有效,局部变量只在定)成员变量在整个类内都有效,局部变量只在定)成员变量在整个类内都有效,局部变量只在定义它的方法内有效。义它的方法内有效。义它的方法内有
12、效。义它的方法内有效。3)成员变量又分为实例成员变量(简称实例变)成员变量又分为实例成员变量(简称实例变量)和类变量(也称静态变量)量)和类变量(也称静态变量)。如果成员变量的。如果成员变量的类型前面加上关键字类型前面加上关键字static,这样的成员变量称做是,这样的成员变量称做是类变量或静态变量。类变量或静态变量。第14页,此课件共93页哦4.24.2类类 4)如果局部变量的名字与成员变量的名字相)如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,即这个成员变量在这个方同,则成员变量被隐藏,即这个成员变量在这个方法内暂时失效法内暂时失效。5)如果局部变量的名字与成员变量的名字相同,
13、则)如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏。这时如果想在该方法内使用成员变量,成员变量被隐藏。这时如果想在该方法内使用成员变量,必须使用关键字必须使用关键字this。第15页,此课件共93页哦4.24.2类类 4、方法、方法 方法的定义包括两部分:方法声明和方法体。一般方法的定义包括两部分:方法声明和方法体。一般格式为:格式为:方法声明部分方法声明部分 方法体内容方法体内容 1)方法声明)方法声明 最基本的方法声明包括方法名和方法类型。当方法不需最基本的方法声明包括方法名和方法类型。当方法不需要返回数据时,方法的类型必须是要返回数据时,方法的类型必须是void。第16页,此课
14、件共93页哦4.24.2类类 2)方法体)方法体 方法声明之后的一对大括号以及之间的内容成为方法的方法声明之后的一对大括号以及之间的内容成为方法的方法体。方法体的内容包括局部变量的定义和合法的方法体。方法体的内容包括局部变量的定义和合法的Java语言。语言。3)方法参数在整个方法内有效,方法内定义的局部变)方法参数在整个方法内有效,方法内定义的局部变量从它定义的位置之后开始有效。如果局部变量的定义是量从它定义的位置之后开始有效。如果局部变量的定义是在一个复合语句中,那么该局部变量的有效范围是该复合在一个复合语句中,那么该局部变量的有效范围是该复合语句,即仅在该复合语句中有效,如果局部变量的定义
15、是语句,即仅在该复合语句中有效,如果局部变量的定义是在一个循环语句中,那么该局部变量的有效范围是该循环在一个循环语句中,那么该局部变量的有效范围是该循环语句,即仅在该循环语句中有效语句,即仅在该循环语句中有效。第17页,此课件共93页哦4.24.2类类 5、方法重载、方法重载 方法重载的意思是:一个类中可以有多个方法具有相同方法重载的意思是:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。重载是不同,或者是参数的类型不同。重载是Java 实现多态性的一实现多态性的一种方式。种方式。
16、有两个规则适用于重载方法:有两个规则适用于重载方法:调用语句的参数表必须有足够的不同,以至于允调用语句的参数表必须有足够的不同,以至于允许区分出正确的方法被调用。许区分出正确的方法被调用。方法的返回类型可以各不相同,但它不足以使返方法的返回类型可以各不相同,但它不足以使返回类型变成唯一的差异。回类型变成唯一的差异。重载方法的参数表必须不同。重载方法的参数表必须不同。第18页,此课件共93页哦class Area float getArea(float r)return 3.14f*r*r;double getArea(float x,int y)return x*y;float getArea
17、(int x,float y)return x*y;double getArea(float x,float y,float z)return(x*x+y*y+z*z)*2.0;第19页,此课件共93页哦4.24.2类类 6、构造方法、构造方法 1)构造方法是一种特殊方法,用来对对象进行初)构造方法是一种特殊方法,用来对对象进行初始化。始化。2)它的名字必须与它所在的类的名字完全相同,)它的名字必须与它所在的类的名字完全相同,而且没有类型,甚至连表示无返回值的空类型(而且没有类型,甚至连表示无返回值的空类型(void)也没有)也没有。构造方法一般应定义为。构造方法一般应定义为public构造方
18、法也可构造方法也可以重载以重载 3)一般而言,每个类都至少有一个构造函数。如果)一般而言,每个类都至少有一个构造函数。如果程序员没有为类定义构造函数,程序员没有为类定义构造函数,Java虚拟机会自动为该虚拟机会自动为该类生成一个默认的构造函数。类生成一个默认的构造函数。4)要特别注意的是,如果程序员定义了一个或)要特别注意的是,如果程序员定义了一个或多个构造函数,则自动屏蔽掉默认的构造函数。多个构造函数,则自动屏蔽掉默认的构造函数。(详见例程)(详见例程)第20页,此课件共93页哦 5)构造方法重载示例构造方法重载示例 public class Employee private String
19、name;private int salary;public Employee(String n,int s)name=n;salary=s;public Employee(String n)this(n,0);public Employee()this(Unknown );第21页,此课件共93页哦4.24.2类类 7 7、类方法和实例方法说明:、类方法和实例方法说明:1 1)类中的方法分为实例方法和类方法。)类中的方法分为实例方法和类方法。2 2)方法声明时,方法类型前面不加关键字)方法声明时,方法类型前面不加关键字staticstatic的是实例方法、加关键字的是实例方法、加关键字sta
20、ticstatic的是类方法。的是类方法。3 3)构造方法是特殊的方法,不能用)构造方法是特殊的方法,不能用staticstatic修饰修饰构造方法。构造方法。4 4)实例方法既能对类变量操作也能对实例变量操作,)实例方法既能对类变量操作也能对实例变量操作,而类方法只能对类变量进行操作。而类方法只能对类变量进行操作。5 5)一个类中的方法可以互相调用,实例方法可以)一个类中的方法可以互相调用,实例方法可以调用该类中的其他方法;类方法只能调用类方法,不能调用该类中的其他方法;类方法只能调用类方法,不能调用实例方法。调用实例方法。第22页,此课件共93页哦4.34.3对象对象 类是创建对象的模板。
21、当使用一个类创建了一个对象时,类是创建对象的模板。当使用一个类创建了一个对象时,我们也说我们给出了这个类的一个实例。我们也说我们给出了这个类的一个实例。1、创建对象、创建对象 创建一个对象包括对象的声明和为对象分配内存两个步骤。创建一个对象包括对象的声明和为对象分配内存两个步骤。(1)对象的声明。对象的声明。一般格式为:一般格式为:类的名字类的名字 对象名字对象名字;如:如:People zhangPing;第23页,此课件共93页哦4.34.3对象对象 (2)为声明的对象分配内存为声明的对象分配内存 使用使用new运算符和类的构造方法为声明的运算符和类的构造方法为声明的对象分配内存,如果类中
22、没有构造方法,系统对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法(默认的构造方法是无会调用默认的构造方法(默认的构造方法是无参数的)。如:参数的)。如:zhangPing=new People();(3)对象的内存模型对象的内存模型 见下例见下例:第24页,此课件共93页哦 class XiyoujiRenwu float height,weight;String head,ear,hand,foot,mouth;void speak(String s)System.out.println(s);class A public static void main(String arg
23、s)XiyoujiRenwu zhubajie;/声明对象声明对象 zhubajie=new XiyoujiRenwu();/为对象分为对象分/配内存配内存,使用,使用new 运运 算算 符和默认的构造方法符和默认的构造方法 第25页,此课件共93页哦4.34.3对象对象 当用当用XiyoujiRenwu类声明一个变量,类声明一个变量,即对象即对象zhubajie时,对象时的内存模型如下:时,对象时的内存模型如下:XiyoujiRenwu zhubajie;第26页,此课件共93页哦4.3对象 当系统见到:当系统见到:zhubajie=new XiyoujiRenwu();时,就会做两件事:时
24、,就会做两件事:为为height,weight,head,ear,mouth,hand,foot各个变量分配内存,各个变量分配内存,即即XiyoujiRenwu类的成员变量被分配内存类的成员变量被分配内存空间,然后执行构造方法中的语句。空间,然后执行构造方法中的语句。new运算符在为变量运算符在为变量height,weight,head,ear,mouth,hand,foot分配内存后,将返回一个引用给对象变分配内存后,将返回一个引用给对象变量量zhubajie(分配实体后的内存模型如下:)。(分配实体后的内存模型如下:)。第27页,此课件共93页哦4.3对象第28页,此课件共93页哦4.34
25、.3对象对象 2、对象的使用、对象的使用 1)对象不仅可以操作自己的变量改变状态,而且还拥有)对象不仅可以操作自己的变量改变状态,而且还拥有了使用创建它的那个类中的方法的能力,对象通过使用这些方了使用创建它的那个类中的方法的能力,对象通过使用这些方法可以产生一定的行为。法可以产生一定的行为。2)通过使用运算符)通过使用运算符“.”,对象可以实现对自己的变量,对象可以实现对自己的变量访问和方法的调用。访问和方法的调用。3)当对象调用方法时,方法中出现的成员变量就是指该)当对象调用方法时,方法中出现的成员变量就是指该对象的成员变量(见例对象的成员变量(见例4.3)。)。对象名成员变量名对象名成员变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 对象 接口 精选 PPT
限制150内