Java实用教程 第2版 教学课件 ppt 作者 王小科 罗二平 刘会衡 第4章 面向对象基础

上传人:E**** 文档编号:89381898 上传时间:2019-05-24 格式:PPT 页数:61 大小:330.50KB
返回 下载 相关 举报
Java实用教程 第2版  教学课件 ppt 作者  王小科 罗二平 刘会衡 第4章  面向对象基础_第1页
第1页 / 共61页
Java实用教程 第2版  教学课件 ppt 作者  王小科 罗二平 刘会衡 第4章  面向对象基础_第2页
第2页 / 共61页
Java实用教程 第2版  教学课件 ppt 作者  王小科 罗二平 刘会衡 第4章  面向对象基础_第3页
第3页 / 共61页
Java实用教程 第2版  教学课件 ppt 作者  王小科 罗二平 刘会衡 第4章  面向对象基础_第4页
第4页 / 共61页
Java实用教程 第2版  教学课件 ppt 作者  王小科 罗二平 刘会衡 第4章  面向对象基础_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《Java实用教程 第2版 教学课件 ppt 作者 王小科 罗二平 刘会衡 第4章 面向对象基础》由会员分享,可在线阅读,更多相关《Java实用教程 第2版 教学课件 ppt 作者 王小科 罗二平 刘会衡 第4章 面向对象基础(61页珍藏版)》请在金锄头文库上搜索。

1、Java实用教程课件 制作人:明日科技,Java实用教程,第4章 面向对象基础,课件制作人:明日科技,第 4 章 面向对象基础,4.1 面向对象程序设计 4.2 类 和 对 象 4.3 包 4.4 继 承 4.5 多 态 4.6 特 殊 类 4.7 接 口,课件制作人:明日科技,4.2 类 和 对 象,Java语言与其他面向对象语言一样,引入了类和对象的概念,类是用来创建对象的模板,它包含被创建对象的属性和方法的定义。因此,要学习Java编程就必须学会怎样去编写类,即怎样用Java的语法去描述一类事物共有的属性和行为。 对象的属性通过变量来刻画,而对象的行为通过方法来体现。方法可以操作属性形成

2、一定的算法来实现一个具体的功能。类把属性和方法封装成一个整体。,课件制作人:明日科技,4.2.1 定义类,在Java语言中,类是基本的构成要素,是对象的模板,Java程序中所有的对象都是由类创建的。一个Java类主要包括以下两部分: 类的声明 类的主体,课件制作人:明日科技,类的声明,在类声明中,需要定义类的名称、对该类的访问权限、该类与其他类的关系等。类声明的格式如下: 修饰符用于指定类的访问权限,可选值为public、abstract和final。 类名用于指定类的名称,类名必须是合法的Java标识符。一般情况下,要求首字母大写。 extends 父类名用于指定要继承参数。 impleme

3、nts 接口列表用于指定该类实现的所有接口。,修饰符 class extends 父类名 implements 接口列表 ,课件制作人:明日科技,类体,类声明部分大括号中的内容为类体。类体主要由以下两部分构成: (1)成员变量的定义; (2)成员方法的定义。 在程序设计过程中,编写一个能完全描述客观事物的类是不现实的。 比如,构建一个Apple类,该类可以拥有很多很多的属性(即成员变量),在定义该类时,选取程序需要的必要属性和行为就可以了。,课件制作人:明日科技,4.2.2 了解成员方法,Java中类的行为由类的成员方法来实现。类的成员方法由方法声明和方法体两部分组成。其一般格式如下: 修饰符

4、用于指定方法的访问权限,可选值为public、protected和private。 方法返回值的类型用于指定该方法的返回值的类型,如果该方法没有返回值,必须使用关键字void进行标识。方法返回值的类型可以是任何Java数据类型。,修饰符 ( 参数列表) 方法体 ,课件制作人:明日科技,了解成员方法,方法名用于指定成员方法的名称,方法名必须是合法的Java标识符。 参数列表用于指定方法中所需的参数。当存在多个参数时,各参数之间应使用逗号分隔。方法的参数可以是任何Java数据类型。 方法体是方法的实现部分,在方法体中可以完成指定的工作,可以只打印一句话,也可以省略方法体,使方法什么都不做。需要注意

5、的是:当省略方法体时,其外面的大括号一定不能省略。 【例4-1】 实现两数相加。,课件制作人:明日科技,4.2.3 成员变量和局部变量,在类体中所声明的变量称为类的成员变量,而在方法体中声明的变量和方法的参数则称为局部变量。 现在我们来看一下,如何声明成员变量和局部变量,以及变量的有效范围。,课件制作人:明日科技,声明成员变量,Java用成员变量来表示类的状态和属性,声明成员变量的基本语法格式如下: 修饰符:可选参数,用于指定变量的被访问权限,可选值为public、protected和private。 static:可选,用于指定该成员变量为静态变量,可以直接通过类名访问。如果省略该关键字,则

6、表示该成员变量为实例变量。 final:可选,用于指定该成员变量为取值不会改变的常量。 变量类型:必选:用于指定变量的数据类型,其值可以为Java中的任何一种数据类型。 变量名:必选,用于指定成员变量的名称,变量名必须是合法的Java标识符。,修饰符 static final ;,课件制作人:明日科技,声明成员变量,例如,在类中声明3个成员变量。,public class Apple public String color; /声明公共变量color public static int count; /声明静态变量count public final boolean MATURE=true;

7、/声明常量MATURE并赋值 public static void main(String args) System.out.println(Apple.count); Apple apple=new Apple(); System.out.println(apple.color); System.out.println(apple.MATURE); ,课件制作人:明日科技,声明局部变量,定义局部变量的基本语法格式同定义成员变量类似,所不同的不能使用权限修是不和static关键字对局部变量进行修饰,但可以使用final关键字: final:可选,用于指定该局部变量为常量。 变量类型:必选,用于

8、指定变量的数据类型,其值可以为Java中的任何一种数据类型。 变量名:必选,用于指定局部变量的名称,变量名必须是合法的Java标识符。,final ;,课件制作人:明日科技,声明局部变量,例如,在grow()成员方法中声明两个局部变量。,public void grow() final boolean STATE; /声明常量STATE int age; /声明局部变量age ,课件制作人:明日科技,变量的有效范围,变量的有效范围是指该变量在程序代码中的作用区域,在该区域外不能直接访问变量。有效范围决定了变量的生命周期,变量的生命周期是指从声明一个变量并分配内存空间、使用变量,然后释放该变量并

9、清除所占用内存空间的一个过程。进行变量声明的位置,决定了变量的有效范围,根据有效范围的不同,可将变量分为以下两种。 (1)成员变量:在类中声明,在整个类中有效。 (2)局部变量:在方法内或方法内的复合代码块( “”与“”之间的代码)中声明的变量。在复合代码块声明的变量,只在当前复合代码块中有效;在复合代码块外、方法内声明的变量在整个方法内都有效。,课件制作人:明日科技,变量的有效范围,例如下面的实例:,public class Olympics private int medal_All=800; /成员变量 public void China() int medal_CN=100; /方法的

10、局部变量 if(medal_CN1000) /代码块 int gold=50; /代码块的局部变量 medal_CN+=50; /允许访问 medal_All-=150; /允许访问 ,课件制作人:明日科技,4.2.4 构造方法的概念及用途,构造方法是一种特殊的方法,它的名字必须与它所在类的名字完全相同,并且没有返回值,也不需要使用关键字void进行标识。 构造方法用于对对象中的所有成员变量进行初始化,在创建对象时立即被调用。 【例4-2】,public class Apple public Apple() / 构造方法 ,课件制作人:明日科技,4.2.5 对象生命周期,在Java语言中,把任

11、何事物都看做对象,例如一个人、一个动物,或者没有生命体的轮船、汽车、飞机,甚至概念性的抽象,例如公司业绩。 一个对象在Java语言中的生命周期包括3个阶段: 创建对象 使用对象 销毁对象,课件制作人:明日科技,创建对象,对象是类的实例。Java定义任何变量都需要指定变量类型,因此,在创建对象之前,一定要先声明该对象。声明对象的一般格式如下: 类名:用于指定一个已经定义的类。 对象名:用于指定对象名称,对象名必须是合法的Java标识符。 例如声明Apple类的一个对象redApple的代码如下:,类名 对象名;,Apple redApple;,课件制作人:明日科技,创建对象,在声明对象时,只是在

12、内存中为其建立一个引用,并置初值为null,表示不指向任何内存空间。 声明对象以后,需要为对象分配内存,这个过程也称为实例化对象。在Java中使用关键字new来实例化对象,具体语法格式如下: 对象名:必选,用于指定已经声明的对象名。 类名:必选,用于指定构造方法名,即类名,因为构造方法与类名相同。 参数列表:可选参数,用于指定构造方法的入口参数。如果构造方法无参数,则可以省略。,对象名=new 构造方法名(参数列表);,课件制作人:明日科技,创建对象,在声明Apple类的一个对象redApple后,可以通过以下代码为对象redApple分配内存(即创建该对象): 在声明对象时,也可以直接实例化

13、该对象: 这相当于同时执行了对象声明和创建对象:,Apple redApple=new Apple();,redApple=new Apple();,Apple redApple; redApple=new Apple();,课件制作人:明日科技,使用对象,创建对象后,就可以访问对象的成员变量,并改变成员变量的值了,而且还可以调用对象的成员方法。通过使用运算符“.”实现对成员变量的访问和成员方法的调用。 语法格式为: 【例4-3】 定义一个类,创建该类的对象,同时改变对象的成员变量的值并调用该对象的成员方法。,对象.成员变量 对象.成员方法(),课件制作人:明日科技,销毁对象,在许多程序设计语

14、言中,需要手动释放对象所占用的内存,但是,在Java中则不需要手动完成这项工作。Java提供的垃圾回收机制可以自动判断对象是否还在使用,并能够自动销毁不再使用的对象,收回对象所占用的资源。 Java提供了一个名为finalize()的方法,用于在对象被垃圾回收机制销毁之前执行一些资源回收工作,由垃圾回收系统调用,可以重写该方法。但是垃圾回收系统的运行是不可预测的。finalize()方法没有任何参数和返回值,每个类有且只有一个finalize()方法。,课件制作人:明日科技,4.3 包,Java要求文件名和类名相同,所以如果将多个类放在一起时,很可能出现文件名冲突的情况,这时Java提供了一种

15、解决该问题的方法,那就是使用包将类进行分组。下面将对Java中的包进行详细介绍。,课件制作人:明日科技,4.3.1 包的概念,包(package)是Java提供的一种区别类的命名空间的机制,是类的组织方式,是一组相关类和接口的集合,它提供了访问权限和命名的管理机制。Java中提供的包主要有以下3种用途。 (1)将功能相近的类放在同一个包中,可以方便查找与使用。 (2)由于在不同包中可以存在同名类,所以使用包在一定程度上可以避免命名冲突。 (3)在Java中,某此访问权限是以包为单位的。,课件制作人:明日科技,4.3.2 创建包,创建包可以通过在类或接口的源文件中使用package语句实现,pa

16、ckage语句的语法格式如下: 包名:必选,用于指定包的名称,包的名称必须为合法的Java标识符。当包中还有子包时,可以使用“包1.包2.包n”进行指定,其中,包1为最外层的包,而包n则为最内层的包。,package 包名;,课件制作人:明日科技,4.3.3 使用包中的类,类可以访问其所在包中的所有类,还可以使用其他包中的所有public类。访问其他包中的public类可以有以下两种方法。 (1)使用长名引用包中的类 使用长名引用包中的类比较简单,只需要在每个类名前面加上完整的包名即可。例如,创建Round类(保存在com.lzw包中)的对象并实例化该对象的代码如下:,com.lzw.Round round=new com.lzw.Round();,课件制作人:明日科技,使用包中的类,(2)使用import语句引入包中的类 由于采用使用长名引用包中的类的方法比较繁琐,所以Java提供了import语句来

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

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

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