第3章Java面向对象编程.ppt
《第3章Java面向对象编程.ppt》由会员分享,可在线阅读,更多相关《第3章Java面向对象编程.ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java第第3 3章章 JavaJava面向对象编程面向对象编程 Java类类类类 2staticstatic和和和和thisthis关键字关键字关键字关键字 4面向对象基础面向对象基础面向对象基础面向对象基础 3 1对象对象对象对象3 3访问权限访问权限访问权限访问权限6包包包包3 5本章内容提要本章内容提要 Java 面向对象的程序设计方法面向对象的程序设计方法面向对象的程序设计方法面向对象的程序设计方法力求符合人脑的思力求符合人脑的思力求符合人脑的思力求符合人脑的思维方式,通过符合人类思维的更抽象的客观世界维方式,通过符合人类思维的更抽象的客观世界维方式,通过符合人类思维的更抽象的客观世
2、界维方式,通过符合人类思维的更抽象的客观世界模型,降低、分解问题的难度和复杂性,并以此模型,降低、分解问题的难度和复杂性,并以此模型,降低、分解问题的难度和复杂性,并以此模型,降低、分解问题的难度和复杂性,并以此来解决问题。来解决问题。来解决问题。来解决问题。与结构化的程序设计方法有何区别?与结构化的程序设计方法有何区别?与结构化的程序设计方法有何区别?与结构化的程序设计方法有何区别?3 3.面向对象基础面向对象基础 Java 面向对象的基本原理面向对象的基本原理 面向对象方法学面向对象方法学面向对象方法学面向对象方法学是面向对象程序设计技术的是面向对象程序设计技术的是面向对象程序设计技术的是
3、面向对象程序设计技术的理论基础。该理论的出发点和基本原则,是尽可理论基础。该理论的出发点和基本原则,是尽可理论基础。该理论的出发点和基本原则,是尽可理论基础。该理论的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法能模拟人类习惯的思维方式,使开发软件的方法能模拟人类习惯的思维方式,使开发软件的方法能模拟人类习惯的思维方式,使开发软件的方法与人类的认知过程同步,通过对人类认识客观世与人类的认知过程同步,通过对人类认识客观世与人类的认知过程同步,通过对人类认识客观世与人类的认知过程同步,通过对人类认识客观世界及事物发展过程的抽象,建立规范的分析设计界及事物发展过程的抽象,建立规范
4、的分析设计界及事物发展过程的抽象,建立规范的分析设计界及事物发展过程的抽象,建立规范的分析设计方法,由此使程序具有良好的封装性、可读性、方法,由此使程序具有良好的封装性、可读性、方法,由此使程序具有良好的封装性、可读性、方法,由此使程序具有良好的封装性、可读性、可维护性、可重用性等一系列优点。可维护性、可重用性等一系列优点。可维护性、可重用性等一系列优点。可维护性、可重用性等一系列优点。3 3.面向对象基础面向对象基础 Java面向对象的基本概念面向对象的基本概念 1 1 1 1对象对象对象对象对象就是现实世界中实体在计算机逻辑中的映对象就是现实世界中实体在计算机逻辑中的映对象就是现实世界中实
5、体在计算机逻辑中的映对象就是现实世界中实体在计算机逻辑中的映射和体现。射和体现。射和体现。射和体现。实体都具有一定的属性和行为。实体都具有一定的属性和行为。实体都具有一定的属性和行为。实体都具有一定的属性和行为。从面向对象的观点来看,所有的面向对象的程从面向对象的观点来看,所有的面向对象的程从面向对象的观点来看,所有的面向对象的程从面向对象的观点来看,所有的面向对象的程序都是由对象构成的。序都是由对象构成的。序都是由对象构成的。序都是由对象构成的。3 3.面向对象基础面向对象基础 Java 2 2 2 2类类类类 类类类类就是具有相同或相似属性和行为的对象的就是具有相同或相似属性和行为的对象的
6、就是具有相同或相似属性和行为的对象的就是具有相同或相似属性和行为的对象的抽象。抽象。抽象。抽象。在面向对象的程序设计中,类与对象是抽象在面向对象的程序设计中,类与对象是抽象在面向对象的程序设计中,类与对象是抽象在面向对象的程序设计中,类与对象是抽象与具体的关系。与具体的关系。与具体的关系。与具体的关系。3 3.面向对象基础面向对象基础 Java 3 3 3 3属性属性属性属性对象的属性主要用来描述对象的状态。对象的属性主要用来描述对象的状态。对象的属性主要用来描述对象的状态。对象的属性主要用来描述对象的状态。属性用变量来定义。属性用变量来定义。属性用变量来定义。属性用变量来定义。4 4 4 4
7、行为行为行为行为对象的行为又称为对象的操作,主要描述对象对象的行为又称为对象的操作,主要描述对象对象的行为又称为对象的操作,主要描述对象对象的行为又称为对象的操作,主要描述对象内部的各种动态信息。内部的各种动态信息。内部的各种动态信息。内部的各种动态信息。行为用方法来刻画。行为用方法来刻画。行为用方法来刻画。行为用方法来刻画。3 3.面向对象基础面向对象基础 Java 面向对象编程的特点面向对象编程的特点 1 1 1 1封装封装封装封装 封装封装封装封装,就是将事物的内部实现细节隐藏起来,就是将事物的内部实现细节隐藏起来,就是将事物的内部实现细节隐藏起来,就是将事物的内部实现细节隐藏起来,对外
8、提供一致的公共的接口间接访问隐藏数据。对外提供一致的公共的接口间接访问隐藏数据。对外提供一致的公共的接口间接访问隐藏数据。对外提供一致的公共的接口间接访问隐藏数据。优点:使得优点:使得优点:使得优点:使得JavaJavaJavaJava程序具有良好的可维护性程序具有良好的可维护性程序具有良好的可维护性程序具有良好的可维护性 使得代码的重用性大为提高使得代码的重用性大为提高使得代码的重用性大为提高使得代码的重用性大为提高 3 3.面向对象基础面向对象基础 Java 2 2 2 2继承继承继承继承当一个类拥有另一个类的数据和操作时,就称这当一个类拥有另一个类的数据和操作时,就称这当一个类拥有另一个
9、类的数据和操作时,就称这当一个类拥有另一个类的数据和操作时,就称这两个类具有继承关系。两个类具有继承关系。两个类具有继承关系。两个类具有继承关系。被继承的类称为父类或超类,继承父类的类称为被继承的类称为父类或超类,继承父类的类称为被继承的类称为父类或超类,继承父类的类称为被继承的类称为父类或超类,继承父类的类称为子类。子类。子类。子类。继承有单重继承和多重继承之分。继承有单重继承和多重继承之分。继承有单重继承和多重继承之分。继承有单重继承和多重继承之分。优点:使得面向对象的程序结构清晰,易于理解。优点:使得面向对象的程序结构清晰,易于理解。优点:使得面向对象的程序结构清晰,易于理解。优点:使得
10、面向对象的程序结构清晰,易于理解。3 3.面向对象基础面向对象基础 Java 3.3.3.3.多态多态多态多态多态多态多态多态指多种表现形式,就是对象响应外部激励指多种表现形式,就是对象响应外部激励指多种表现形式,就是对象响应外部激励指多种表现形式,就是对象响应外部激励而使其形式发生改变的现象。而使其形式发生改变的现象。而使其形式发生改变的现象。而使其形式发生改变的现象。多态有两种情况:多态有两种情况:多态有两种情况:多态有两种情况:一种是通过类之间继承导致的同名方法覆一种是通过类之间继承导致的同名方法覆一种是通过类之间继承导致的同名方法覆一种是通过类之间继承导致的同名方法覆盖体现的,另一种是
11、通过同一个类中同名方法盖体现的,另一种是通过同一个类中同名方法盖体现的,另一种是通过同一个类中同名方法盖体现的,另一种是通过同一个类中同名方法的重载体现的。的重载体现的。的重载体现的。的重载体现的。优点:提高了程序的抽象程度和简洁性。优点:提高了程序的抽象程度和简洁性。优点:提高了程序的抽象程度和简洁性。优点:提高了程序的抽象程度和简洁性。3 3.面向对象基础面向对象基础 Java1.1.类的声明类的声明 class class class class 类名类名类名类名 类体的内容类体的内容类体的内容类体的内容 例如:例如:例如:例如:class Student /class Student
12、/class Student /class Student /定义类定义类定义类定义类StudentStudentStudentStudent 3 3.2 2 类类 Java 2.2.类体类体 class class class class 通常,通常,通常,通常,JavaJavaJavaJava中把成员变量放在方法前面定义。中把成员变量放在方法前面定义。中把成员变量放在方法前面定义。中把成员变量放在方法前面定义。3 3.2 2 类类 Java成员变量成员变量 在类体中并且在方法之外定义的变量称为在类体中并且在方法之外定义的变量称为在类体中并且在方法之外定义的变量称为在类体中并且在方法之外定义
13、的变量称为成员成员成员成员变量变量变量变量。修饰符修饰符修饰符修饰符 变量类型变量类型变量类型变量类型 变量名;变量名;变量名;变量名;例如:例如:例如:例如:Integer Integer Integer Integer stuAgestuAgestuAgestuAge;intintintint age=9 age=9 age=9 age=9;3 3.2 2 类类 Java 成员方法成员方法 1 1 1 1方法定义方法定义方法定义方法定义 方法也由两部分组成,即方法也由两部分组成,即方法也由两部分组成,即方法也由两部分组成,即方法头和方法体方法头和方法体方法头和方法体方法头和方法体。返回值类
14、型返回值类型返回值类型返回值类型 方法名方法名方法名方法名(参数列表参数列表参数列表参数列表)3 3.2 2 类类 Java (1 1 1 1)方法修饰符)方法修饰符)方法修饰符)方法修饰符 方法修饰符控制方法在什么条件下使用以及方法修饰符控制方法在什么条件下使用以及方法修饰符控制方法在什么条件下使用以及方法修饰符控制方法在什么条件下使用以及如何使用,包括如何使用,包括如何使用,包括如何使用,包括publicpublicpublicpublic(公有的)、(公有的)、(公有的)、(公有的)、privateprivateprivateprivate(私有的)及(私有的)及(私有的)及(私有的)及
15、protectedprotectedprotectedprotected(保护的)。(保护的)。(保护的)。(保护的)。(2 2 2 2)返回值类型)返回值类型)返回值类型)返回值类型 返回值类型可以是基本数据类型、应用类型返回值类型可以是基本数据类型、应用类型返回值类型可以是基本数据类型、应用类型返回值类型可以是基本数据类型、应用类型(引用类型)以及(引用类型)以及(引用类型)以及(引用类型)以及voidvoidvoidvoid(空类型)。(空类型)。(空类型)。(空类型)。3 3.2 2 类类 Java (3 3 3 3)方法名)方法名)方法名)方法名 (4 4 4 4)形参列表)形参列表
16、)形参列表)形参列表 形参列表是以形参列表是以形参列表是以形参列表是以“,”分开的、参数的数据类型分开的、参数的数据类型分开的、参数的数据类型分开的、参数的数据类型和变量名的列表。和变量名的列表。和变量名的列表。和变量名的列表。(111,nnn)3 3.2 2 类类 Java 2 2 2 2方法体方法体方法体方法体 方法的功能实现部分,主要由局部变量和语方法的功能实现部分,主要由局部变量和语方法的功能实现部分,主要由局部变量和语方法的功能实现部分,主要由局部变量和语句构成。句构成。句构成。句构成。方法体也可以是空的,即没有任何变量和语方法体也可以是空的,即没有任何变量和语方法体也可以是空的,即
17、没有任何变量和语方法体也可以是空的,即没有任何变量和语句。句。句。句。例如:例如:例如:例如:void void void void setName(StringsetName(StringsetName(StringsetName(String name)name)name)name)例例例例3-13-13-13-1方法的定义方法的定义方法的定义方法的定义3 3.2 2 类类 Java构造方法构造方法(1 1 1 1)构造方法的方法名与类名相同。)构造方法的方法名与类名相同。)构造方法的方法名与类名相同。)构造方法的方法名与类名相同。(2 2 2 2)构造方法不允许声明返回值。)构造方法不允
18、许声明返回值。)构造方法不允许声明返回值。)构造方法不允许声明返回值。(3 3 3 3)构造方法的作用是完成对类对象的初始化。)构造方法的作用是完成对类对象的初始化。)构造方法的作用是完成对类对象的初始化。)构造方法的作用是完成对类对象的初始化。(4 4 4 4)构造方法只能通过)构造方法只能通过)构造方法只能通过)构造方法只能通过newnewnewnew运算符调用,不能通过运算符调用,不能通过运算符调用,不能通过运算符调用,不能通过 对象或类调用。对象或类调用。对象或类调用。对象或类调用。(5 5 5 5)一个类可以定义多个构造方法。)一个类可以定义多个构造方法。)一个类可以定义多个构造方法
19、。)一个类可以定义多个构造方法。3 3.2 2 类类 Java 例例例例3-23-23-23-2构造方法的定义构造方法的定义构造方法的定义构造方法的定义构造方法的作用:构造方法的作用:构造方法的作用:构造方法的作用:(1 1 1 1)为每个新建的对象赋初始值,从而保证每一)为每个新建的对象赋初始值,从而保证每一)为每个新建的对象赋初始值,从而保证每一)为每个新建的对象赋初始值,从而保证每一个新建的对象处于合理正常的状态。个新建的对象处于合理正常的状态。个新建的对象处于合理正常的状态。个新建的对象处于合理正常的状态。(2 2 2 2)引入更多的灵活度,使得初始化工作不仅仅)引入更多的灵活度,使得
20、初始化工作不仅仅)引入更多的灵活度,使得初始化工作不仅仅)引入更多的灵活度,使得初始化工作不仅仅包括成员变量的赋值,还可以有更复杂的操作。包括成员变量的赋值,还可以有更复杂的操作。包括成员变量的赋值,还可以有更复杂的操作。包括成员变量的赋值,还可以有更复杂的操作。3 3.2 2 类类 Java对象创建对象创建1 1 1 1声明对象声明对象声明对象声明对象 type type type type objectnameobjectnameobjectnameobjectname;例如:例如:例如:例如:Student Student Student Student xiaolinxiaolinxi
21、aolinxiaolin;3 3.3 3 对象对象xiaolin Java 2 2 2 2建立对象并初始化建立对象并初始化建立对象并初始化建立对象并初始化 实际上就是将一个类实例化,这是通过实际上就是将一个类实例化,这是通过实际上就是将一个类实例化,这是通过实际上就是将一个类实例化,这是通过newnewnewnew关键字来完成的。关键字来完成的。关键字来完成的。关键字来完成的。例如:例如:例如:例如:new Student(new Student(new Student(new Student(小林小林小林小林,1001,12);,1001,12);,1001,12);,1001,12);3
22、3.3 3 对象对象小林小林100112 Java 对象引用被赋值后,将指向一个真正的对象,对象引用被赋值后,将指向一个真正的对象,对象引用被赋值后,将指向一个真正的对象,对象引用被赋值后,将指向一个真正的对象,即对象引用的内存空间中存储这个新建立对象的即对象引用的内存空间中存储这个新建立对象的即对象引用的内存空间中存储这个新建立对象的即对象引用的内存空间中存储这个新建立对象的内存空间的首地址,那么通过对象引用就可以访内存空间的首地址,那么通过对象引用就可以访内存空间的首地址,那么通过对象引用就可以访内存空间的首地址,那么通过对象引用就可以访问这个对象的所有可以访问的成员了。问这个对象的所有可
23、以访问的成员了。问这个对象的所有可以访问的成员了。问这个对象的所有可以访问的成员了。3 3.3 3 对象对象小林小林1001120 x032xiaolin0 x1032 Java 通过同一个类模板可以声明多个对象引用,通过同一个类模板可以声明多个对象引用,通过同一个类模板可以声明多个对象引用,通过同一个类模板可以声明多个对象引用,也可以建立并初始化多个对象:也可以建立并初始化多个对象:也可以建立并初始化多个对象:也可以建立并初始化多个对象:Student Student Student Student xiaolinxiaolinxiaolinxiaolin,xiaofeixiaofeixia
24、ofeixiaofei;xiaolinxiaolinxiaolinxiaolin=new Student(=new Student(=new Student(=new Student(小林小林小林小林,1001,12);,1001,12);,1001,12);,1001,12);xiaofeixiaofeixiaofeixiaofei=new Student(=new Student(=new Student(=new Student(小飞小飞小飞小飞i,1002,16);i,1002,16);i,1002,16);i,1002,16);Student Student Student Stud
25、ent xiaoqiangxiaoqiangxiaoqiangxiaoqiang=xiaolinxiaolinxiaolinxiaolin;3 3.3 3 对象对象 Java 例例例例3-33-33-33-3创建对象创建对象创建对象创建对象判断对象判断对象判断对象判断对象a a a a的引用是否存在的引用是否存在的引用是否存在的引用是否存在a!=nulla!=nulla!=nulla!=null或或或或 a=nulla=nulla=nulla=null;判断判断判断判断a a a a、b b b b两个对象的引用是否相等两个对象的引用是否相等两个对象的引用是否相等两个对象的引用是否相等a=ba
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 面向 对象 编程
限制150内