Java 2实用教程课件(第3版第4章)

上传人:飞*** 文档编号:34148107 上传时间:2018-02-21 格式:PPT 页数:72 大小:1.99MB
返回 下载 相关 举报
Java 2实用教程课件(第3版第4章)_第1页
第1页 / 共72页
Java 2实用教程课件(第3版第4章)_第2页
第2页 / 共72页
Java 2实用教程课件(第3版第4章)_第3页
第3页 / 共72页
Java 2实用教程课件(第3版第4章)_第4页
第4页 / 共72页
Java 2实用教程课件(第3版第4章)_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《Java 2实用教程课件(第3版第4章)》由会员分享,可在线阅读,更多相关《Java 2实用教程课件(第3版第4章)(72页珍藏版)》请在金锄头文库上搜索。

1、第章类、对象和接口,4.1 面向对象的设计思想4.2 类4.3 对象4.4 static 关键字4.5 this 关键字4.6 包4.7 访问权限4.8 类的继承4.9 对象的上转型对象4.10 多态性,4.11 abstract 类和abstract方法4.12 super关键字4.13 接口4.14 内部类4.15 匿名类4.16 异常类4.17 Class类4.18 基本类型的类包装4.19 反编译和文档生成器4.20 jar文件,4.1.1 编程语言的几个发展阶段,机器语言直接由计算机的指令组成,指令、数据、地址都以”0”和“1”的符号串组成;可以被计算机直接执行。汇编语言 用容易理解

2、和记忆的符号表示指令、数据以及寄存器等,抽象层次很低,程序员需要考虑大量的机器细节。 高级语言屏蔽了机器细节,提高了语言的抽象层次接近于人的自然语言,60年代出现的结构化编程语言提出了结构化数据和语句,数据和过程抽象等概念。面向对象语言与以往的各种语言的根本不同的是,它的设计出发点就是为了更能直接的描述问题域中客观存在的事物。注:语言的发展是朝着人类更容易理解的方向前进。,面向过程的程序设计方法主要思想是功能分解并逐步求精。数据与程序分开存储,过程或函数定义为一个接一个执行的一组指令。面向对象的程序设计方法从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的

3、自然思维方式。本质是把数据和处理数据的过程当成一个整体对象。面向对象更加强调运用人类在日常的思维逻辑中经常采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。,4.1.2 程序设计思想,对象和类的概念,对象用计算机语言对问题域中事物的描述,对象通过“属性(attribute)”和“方法(method)”来分别对应事物所具有的静态属性和动态属性。类是用于描述同一类型的对象的一个抽象的概念 ,类中定义了这一类对象所具有的静态和动态属性。类可以看成一类对象的模板,对象可以看成该类的一个具体实例。既类的实例化结果就是对象,而对一类对象的抽象就是类。客观世界是由对象和对象之间的联系组成的。,关联关系

4、,类(对象)之间的关系,继承关系-一般和特殊,XX是一种XX,聚合关系-整体和部分,实现关系,多态,消息,对象之间进行交互作用和通讯是利用消息的。消息就是向对象发出的服务请求。它应该包含下述信息:提供服务的对象标识(被寻址消息的对象);服务标识(要执行方法的名字);输入信息(这个方法需要的所有参数);回答信息(方法的返回值)。注:服务通常被称为方法或函数。,Java与面向对象,对象是java程序的核心,在java程序中”万事万物皆对象“。对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体。类是用来创建同一类型的对象的”模板“,在一个类中定义了该类对象所应具有的成员变量以及方法。J2S

5、DK提供了很多类供编程人员使用,编程人员也可定义自己的类。,面向对象的编程一组对象互相配合通过沟通完成特定功能所有的paradigm都是对现实问题的抽象汇编是对机器语言的抽象面向过程的语言是对汇编的抽象。对象更加符合对现实的抽象对象都有对外服务的接口通过继承可以复用对象隐藏内部服务的实现通过聚合可以复用面向对象更加容易达到如下几点:Reusable、Extensibility、维护和替换更加方便、组件比对象更高的层次上的抽象(二进制级别)EJB、Web Service、CORBA、COM、,Java与面向对象,Java程序的结构,package 自定义包名;(0个或1个,必须放在文件开始)im

6、port 包名;(0个或多个,必须放在所有类定义之前)public class 类名1extends 父类名implements 接口名 (0个或1个,文件名与该类名相同)/注释 成员变量(属性、域) 修饰符 成员方法名1(参数表) 修饰符 class 类名2 (0个或多个)注:父类名只有1个,接口名可以有多个,结构说明,package表示本程序所属的包(组织类的一种结构),如果需定义包,加此语句,没有此语句,属于默认包。Import表示引入其他类,以便于在下面的类中使用。类定义是java源程序的主要部分,每个文件中可以定义若干个类,但只有一个类是主类。在java Application中,这

7、个主类是指包含main()方法的类;在java Applet中,主类是系统类Applet的一个子类。主类是java程序执行的入口点。同一个java程序中定义的若干类之间没有严格的逻辑关系要求,但它们通常是在一起协同工作的,每一个类都可能需要使用其他类中定义的属性或方法。,4.2 类,类是组成Java程序的基本要素。类封装了一类对象的属性和方法。类是用来定义对象的模板。类的实现包括两部分:类声明和类体。class People 成员变量; 成员方法; 1.类声明“class People”叫做类声明;“People” 是类名。习惯上类名的第一个字母大写,但这不是必须的。2.类体写类的目的是为了描

8、述一类事物共有的属性和功能,描述过程由类体来实现。类声明之后的一对大括号“”,“”以及它们之间的内容称做类体。类体的内容由两部分构:一部分是成员变量的定义,用来刻画属性;另一部分是成员方法的定义,用来刻画功能。,3.成员变量,格式:修饰符 类型 变量名表=初值;说明:1.可为任何一种数据类型。 2.作用域在整个类内都有效。 3.定义时可以给初值。不给为默认值。,4.2 类,注:与局部变量的区别1.定义、初值2.作用域;如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,这时如果想在该方法内使用成员变量,必须使用关键字this。,class 三角形 float sideA,sideB,si

9、deC,lengthSum; void setSide(float sideA,float sideB,float sideC) this.sideA=sideA; this.sideB=sideB; this.sideC=sideC; this.sideA,this.sideB,this.sideC就分别表示成员变量sideA,sideB,sideC,4.2 类,4.成员方法,格式:修饰符 返回值类型 方法名(参数表) 方法体 说明:,4.2 类,class 梯形 float 上底,下底,高,laderArea; /变量定义部分 float 计算面积() /方法定义 laderArea=(上

10、底+下底)*高/2.0f; return laderArea; void 修改高(float h) /方法定义 高=h; ,4.2 类,5.方法重载(多态的一种),方法重载是:一个类中可以定义有相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法。函数类型 函数名(参数类型 参数名)重载的区分:参数类型、参数个数、顺序 函数类型、参数名不做重载条件,4.2 类,class Area float getArea(float r) return 3.14f*r*r; double getArea(float x,int y) return x*y; float getArea

11、(int x,float y) return x*y; double getArea(float x,float y,float z) return (x*x+y*y+z*z)*2.0; ,4.2 类,6.构造方法(构造函数),构造方法是定义在Java类中的一个用来初始化对象的函数。构造方法的名字与类名相同,且没有返回值。当类中没定义构造方法时,系统自动给一个不带参数的构造方法,构造方法也可以重载。使用 new+构造方法 创建一个新的对象。,4.2 类,class 梯形 float 上底,下底,高; 梯形() 上底=60; 下底=100; 高=20; 梯形(float x,int y,floa

12、t h) 上底=x; 下底=y; 高=h; ,4.3 对象,1.对象的创建,先声明对象,后用new+构造方法 创建对象。同一类的每个对象有不同的成员变量存储空间。同一类的每个对象共享该类的方法。,例:梯形 a=new 梯形(); 梯形 b=new 梯形(2,6,5);,4.3 对象,class Personint age;void shout()System.out.println(“oh,my god! I am “ + age);,4.3 对象,Person p1=new Person();,4.3 对象,2.使用对象,对象不仅可以操作自己的变量改变状态,而且还拥有了使用创建它的那个类中的

13、方法的能力,对象通过使用这些方法可以产生一定的行为。通过使用运算符“.”,对象可以实现对自己的变量访问和方法的调用。 对象名.成员变量 对象名.成员方法(实参)当对象调用方法时,方法中出现的成员变量就是指该对象的成员变量。,4.3 对象,3.对象的引用和实体,当用类创建一个对象时,类中的成员变量被分配内存空间,这些内存空间称做该对象的实体,而对象中存放着引用,以确保实体由该对象操作使用。 一个类创建的两个对象,如果具有相同的引用,那么就具有完全相同的实体。 没有实体的对象称作空对象,空对象不能使用,即不能让一个空对象去调用方法产生行为。,4.3 对象,4.参数传值,Java进行函数调用中传递参

14、数时,遵循值传递的原则:基本类型传递的是该数据值本身。引用类型传递的是对象的引用,而不是对象本身。注:如果改变参数变量所引用的实体,就会导致原变量的实体发生同样的变化。但是,改变参数的引用不会影响向其传值的变量的引用。例5.,4.3 对象,4.4 static 关键字,用static修饰的成员变量称为类变量,它为该类的公用变量,在加载到内存是被初始化,对于该类的所有对象来说,static成员变量只有一份。 用static修饰的方法称为类方法,在调用该方法是,不会将对象的引用传递给它,所以类方法只能访问static的成员。可以通过对象引用或类名(不需要实例化)访问静态成员。,class Peop

15、le 实例成员变量; 类成员变量; 构造方法 局部变量 实例成员方法 局部变量 类成员方法 局部变量 ,4.5 this 关键字,this可以看作一个变量,它的值是当前对象的引用。 this可以出现在实例方法和构造方法中,但不可以出现在类方法中。 this关键字出现在类的构造方法中时,代表使用该构造方法所创建的对象。 this关键字出现在类的实例方法中时,代表正在调用该方法的当前对象。当成员变量在实例方法中出现时, 默认格式: this.成员变量 this.成员方法 类名.类变量 类名.类方法可以在一个构造方法里调用其他重载的构造方法,不是用构造方法名,而是用this(参数列表)的形式,根据其中的参数列表,选择相应的构造方法。,

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

当前位置:首页 > 资格认证/考试 > 其它考试类文档

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