Java程序设计教程 教学课件 PPT 作者 张克军 陆迟 孙海伦 庞丽娜 第3章 Java中的对象与

上传人:E**** 文档编号:89370266 上传时间:2019-05-24 格式:PPT 页数:25 大小:154.50KB
返回 下载 相关 举报
Java程序设计教程 教学课件 PPT 作者 张克军 陆迟 孙海伦 庞丽娜 第3章  Java中的对象与_第1页
第1页 / 共25页
Java程序设计教程 教学课件 PPT 作者 张克军 陆迟 孙海伦 庞丽娜 第3章  Java中的对象与_第2页
第2页 / 共25页
Java程序设计教程 教学课件 PPT 作者 张克军 陆迟 孙海伦 庞丽娜 第3章  Java中的对象与_第3页
第3页 / 共25页
Java程序设计教程 教学课件 PPT 作者 张克军 陆迟 孙海伦 庞丽娜 第3章  Java中的对象与_第4页
第4页 / 共25页
Java程序设计教程 教学课件 PPT 作者 张克军 陆迟 孙海伦 庞丽娜 第3章  Java中的对象与_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《Java程序设计教程 教学课件 PPT 作者 张克军 陆迟 孙海伦 庞丽娜 第3章 Java中的对象与》由会员分享,可在线阅读,更多相关《Java程序设计教程 教学课件 PPT 作者 张克军 陆迟 孙海伦 庞丽娜 第3章 Java中的对象与(25页珍藏版)》请在金锄头文库上搜索。

1、第3章 Java中的对象与类,Java语言是纯粹的面向对象的编程语言。因此,面向对象设计开发程序的思想,就是Java的核心内容。在这一章中,将首先简单介绍一些面向对象程序设计的基本理念。在此基础上,将介绍Java中如何开发自己的类,以及如何通过类创建对象,并且向大家深入介绍面向对象的主要特性。同时用最为简单的例子,来分别向大家介绍如何使用继承、接口、内部类等技术。,3.1 面向对象概述,面向对象(Object Oriented简称OO)是当今主流的程序设计方式,取代了70年代的“过程化”程序设计。Java是完全面向对象的语言,用其进行面向对象的软件开发是非常方便、高效的。 本节将对面向对象的基

2、础知识进行简单地介绍,主要包括面向对象程序设计思想的诞生、面向过程与面向对象程序设计思想的对比、面向对象技术的背景和特点等三方面的内容。 随着软件复杂度的提高,以及Internet的迅猛发展,原先面向过程的软件开发方式已经很难满足软件开发的需要。针对日趋复杂的软件需求挑战,软件业界发展出了面向对象的软件开发模式。目前作为针对软件危机的最佳对策,OO技术已经引起人们的普遍关注。,3.2 类的定义与对象的创建,如果一切都是对象,那么是什么决定了某一类对象的外观与行为呢?答案是“类”。类是构造对象的模板或蓝图。如建筑物与设计图纸的关系一样,通过一份设计图纸,可以建造出很多建筑物,而Java开发人员在

3、编写代码时,实际上是在编写类代码,对象只有程序运行时才存在。 当创建一个Java程序时,可以通过类声明来定义类,然后使用类来创建用户需要的对象。类声明是用来创建对象模板的抽象规格说明。在前面的一些章节中,已经编写过一些简单的类,只是那些类一般只有main方法。,3.3 包的使用,在实际项目开发中,往往需要开发很多不同的类,能否方便高效地组织这些类对项目的开发与使用具有很重要的意义。Java中提供包将不同类组织起来进行管理,借助于包可以方便地组织自己的类代码,并将自己的代码与别人提供的代码库分开管理。 使用包的重要目的之一就是可以在同一个项目中使用名称相同的类,假如两个开发人员不约而同地建立了两

4、个相同名字的类,只要将其放置在不同的包中,就不会产生冲突。本节将从类的放置与导入两个方面对包及其使用进行介绍,主要包括如下内容: (1)声明创建包 (2)引入包内的资源,3.3.1 声明创建包,要想将类放入指定的包中,就必须使用package语句,具体语法如下。 package ; 声明创建包必须注意以下几点: (1)package语句必须放在源文件的最前面,其之前不可以有其他任何语句。 (2)每个源文件中最多有一句package语句,因为一个类不可能属于两个包,就如同不能把一件衣服同时放进两个箱子一样。 (3)包名可以是用点“.”分隔的一个序列,如java.lang,这就表示此源文件中的类在

5、java包下的lang子包中。,3.3.2 引入包内的资源,当一个类要使用与自己处在同一个包中的类时,直接访问即可。若要使用其他包中的类就必须使用import语句,基本语法如下。 import .*; import .类名; 1两个包中有同名类,但只用到其中一个及其他不同名的类 2两个包中有同名类,且都要使用,3.4 类的成员变量和方法,类的成员变量和方法是组成类的基本元素。成员变量是用来描述类所抽象出的属性,而方法则是用来获取或改变这些属性的值。在这一节中,将主要介绍如何声明和使用类中的成员变量。,3.4.1 访问修饰符,首先,在了解类的成员变量之前必须先对访问修饰符有一个大概的了解。 在J

6、ava程序中,访问修饰符可以出现在类、成员变量、构造方法或方法前,是用来控制访问权限的修饰符。Java语言中提供了如下所示四种形式的访问修饰符。 (1)public: (2)private: (3)protect: (4)(default):,3.4.2 成员变量,定义一个类后,就可以在类体中声明两种类的成员,成员变量与成员方法。本节介绍与成员变量开发相关的一些知识,主要包括成员变量的开发与使用、成员变量的初始值以及对象引用变量的比较等内容。 成员变量就是类的属性,类定义中的属性指定了使一个对象区别于其他对象的值。比如,学生类的定义中包括年龄、姓名和班级这些属性,每个对象的这些属性都有自己的值

7、。所有由类定义建立的对象都共享类的方法,但是,它们都拥有各自属性变量的副本。,3.4.3 成员变量的初始值,每当创建一个对象后,如果对象有成员变量,则系统会自动为其分配一个初始值。 下面将对基本数据类型与对象引用类型成员变量分别进行介绍。 1基本数据类型成员变量 2对象引用型成员变量,3.4.4 方法,在Java中,对对象的操作由方法来完成。要使一个对象完成某些工作,就要调用其相应的方法。方法实际上描述的是一个行为,一种功能,决定了一个对象能够接收什么样的消息,做出什么反应。 方法的基本组成包括:方法的声明以及方法体,基本语法如下: 返回值类型 方法名(参数序列) 方法体 1参数序列 2方法体

8、 3返回值类型,3.4.5 构造方法,构造方法是类中一个特殊的方法。与其他方法不同,构造方法主要是用来初始化类,创建类的实例(也就是类的对象,之后会详细介绍)。构造方法的名字和类的名字是相同的。并且没有返回值类型。在构造方法前,只可以使用访问修饰符public、private及protected。 在Java程序中创建一个类,若要让这个类工作,就必须创建这个类的对象。,3.4.6 参数的传递,同其他的编程语言一样,既然存在方法,就会有参数的传递。前面介绍过,方法参数就是方法圆括号内的常量值、变量、表达式或函数。当定义方法时,这时方法中的参数称为形式参数(形参),使用来反映参数的类型及个数的;而

9、当我们调用该方法时,这时的参数称之为实际参数(实参)。通过参数的传递,可以将变量的值传递给方法内部进行处理,但需要注意的是,在Java中,传递的参数共有如下所示两种. (1)基本类型参数: (2)对象引用型参数:,3.5 抽象类与接口,在之前,已经向大家介绍过类的定义与对象的创建。本节将要介绍Java语言中两种较为常用的技术:抽象类和接口。,3.5.1 抽象类与抽象方法,abstract关键字是抽象修饰符,只能用于修饰类和方法。该关键字用来表明所定义的类或方法是未实现的。 (1)抽象类: (2)抽象方法:,3.5.2 接口,Java语言中的接口不同于一般的类,通常都称之为接口类,是用来描述类的

10、功能的。在接口类中,定义了抽象的方法和常量,形成一个属性集合,该属性集合代表了一组功能的实现。之在Java语言中,一个类只能继承一个父类;但是一个类可以实现多个接口,因此使用接口主要是为了实现类似于类的多重继承功能。 接口的声明需要使用interface关键字来实现。接口声明的语法格式,如下代码片断所示: public interface 接口名 extends 父类接口 public static final 常量类型 常量名 = 常量值; public abstract 返回类型 方法名(参数列表) throw 异常列表 ,3.6 final关键字,finnal关键字可以用于类、方法、变量

11、前,用来表示该关键字所修饰的类、方法、变量具有不可变的特性。具体情况如下所述。 (1)final关键字用于基本数据类型变量前: (2)final关键字用于方法声明前: (3)final关键字用于类名前:,3.7 类的继承,继承是两个类之间的一种关系。当一个类A继承了一个已存在的类B后,类A就拥有了类B所有的非private的属性和方法,但同时,类A中还可以根据需要,添加新的方法和属性。简单的说,继承就是创建一个新的类,并使这个类复制了一个已经存在的类,并在其基础上进行了扩展。一般会将被继承的类称为父类或超类,继承父类或超类的类称之为子类。 在Java语言中,一个类可以拥有多个子类,但是一个子类

12、只能拥有一个父类。父类实际上是所有子类的公共属性的集合。而每一个子类则是父类的一个扩展或特殊化。 在面向对象的程序设计中,采用继承的机制来组织、设计系统中的类,可以使得程序结构清晰、降低编码和维护的工作量,同时可以提高程序的抽象程度,使之更加接近于人类的思维方式,提高了程序开发的效率。,3.7.1 如何定义子类,在Java程序中,若要定义子类,就需要使用“extends”关键字。其语法格式如下所示: class 子类名 extends 父类名 /类体:包含属性和方法 ,3.7.2 方法的覆盖父类中的方法,使用继承的过程中,可以实现方法的覆盖。方法的覆盖只是存在于父类和子类之间。当父类中的一个方

13、法在它的子类中重新获得定义时,若该方法的方法名、参数、返回值类型均不变,只有方法体发生了变化时,就称子类的方法覆盖了父类方法。,3.7.3 this与super关键字,本小节将介绍super关键字与this关键字的相关知识与用法。 1this关键字 2super关键字,3.7.4 继承的层次结构,Java语言的继承关系中,一个类最多只能有一个父类。但一个父类可以同时拥有多个不同的子类。换句话说,父类实际上是所有子类的公共属性的集合。而每一个子类则是父类的一个扩展或特殊化。在这里以交通工具这个抽象概念为例,来说明类之间继承的层次结构。 交通工具类是所有交通工具的共同属性的集合,这些共同属性包括移

14、动速度、承载人数、载货量、所处状态等静态属性;同时也包含了启动、停止、加速、减速、维修等一些动态的行为方法。在这个基础上,将交通工具类具体化、特殊化,就会派生出三个子类,包括:陆地交通工具、海上交通工具和空中交通工具三个子类。,3.7.4 继承的层次结构,3.8 static关键字,被static修饰的成员与普通的成员有很大的不同,因此本书将其作为一个独立的概念来处理。static关键字只能修饰成员,只要身份是成员便可以用其修饰。 为了更好地理解其工作方式,首先介绍为什么要引入静态成员的概念,原因主要有以下两个方面。 (1)假定有一实用工具类 (2)另一种特殊情况 1静态方法访问非静态成员 2非静态方法访问静态成员,3.9 小结,本章简单介绍了面向对象的思想,并详细介绍了类的定义及其使用,最后通过对系统中提供的几个类的介绍阐述了使用系统已有类的思想。通过本章的学习,读者可以构造出自己的类,通过这些类的对象相互协作,便能开发出具有一定功能的应用程序。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号