收藏 分销(赏)

java面向对象程序设计PPT课件.ppt

上传人:a199****6536 文档编号:8193425 上传时间:2025-02-07 格式:PPT 页数:37 大小:88KB 下载积分:12 金币
下载 相关 举报
java面向对象程序设计PPT课件.ppt_第1页
第1页 / 共37页
java面向对象程序设计PPT课件.ppt_第2页
第2页 / 共37页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,.,*,第四章 类 和 对 象,1,.,教学目标,理解数据抽象和数据隐藏,创建类,能够创建和使用对象,能够控制对实例变量和方法的访问,方法的重载,构造函数的使用,理解,this,引用的用法,理解,Java,的垃圾收集机制,static,方法和域的使用,类的组合,包的创建和使用,2,.,4.1,面向对象程序设计的思想,4.1.1 OOP思想,4.1.2 用类实现抽象数据类型:时钟类,4.1.3 类成员:构造函数、方法和域,3,.,4.1.1 OOP,思想,面向对象编程技术,将数据及对数据的操作封装在一起而形成了类,类是描述相同类型的对象集合。面向对象编程(,object-oriented programming,,,OOP,)就是定义这些类。,类作为抽象的数据类型用于创建类的对象。,程序的执行,表现为一组对象之间的交互通信。对象之间通过公共接口进行通信,从而完成系统功能。对象的公共接口是该对象的应用程序编程接口,(Application Programming Interface,,,API),,把对象的内部详细信息隐藏起来,使得对象变得抽象,将这种技术称为数据的抽象化。,Java,语言是完全面向对象的语言,程序的结构由一个以上的类组成。所有的过程都被封装起来,并将它们称之为方法。,4,.,4.1.2,用类实现抽象数据类型:时钟类,类作为一种抽象的数据类型,封装了对象的数据属性和动态行为,被用来定义类的对象。,下面我们将通过一个具体的实例来理解什么是类,如何定义类、创建对象和使用对象。,时钟类的设计:,(1),数据属性:时(,int hour,);,分,(int minute),;,秒,(int second),。,(2),行为:设置时间,setTime(),;,显示时间,toUniversalString(),、,toStandardString(),;,走时(暂时不考虑);,5,.,4.1.2,用类实现抽象数据类型:时钟类(续),例,4-1,时钟类的实现。,该例子包含两个文件,Time1.java,和,TimeTest1.java,。,Time1.java,是用于定义时钟类。,TimeTest1,类是一个用于测试时钟类的包含,main,方法的主类,在,main,方法中将创建,Time1,类的一个对象,并调用对象的公共方法。,6,.,4.1.2,用类实现抽象数据类型:时钟类(续),Time1.java,文件的代码如下,:,import java.text.DecimalFormat;,public class Time1 extends Object,private int hour;,private int minute;,private int second;,public Time1(),setTime(0,0,0);,public void setTime(int h,int m,int s),hour=(h=0,minute=(m=0,second=(s=0,时,分,秒,设置时间,7,.,4.1.2,用类实现抽象数据类型:时钟类(续),public String toUniversalString(),/toUniversalString,方法以,24,时制格式显示时间,DecimalFormat twoDigits=new DecimalFormat(00);,return twoDigits.format(hour)+:+,twoDigits.format(minute)+:+twoDigits.format(second);,public String toStandardString(),/toStandardString,方法以,12,时制格式显示时间,DecimalFormat twoDigits=new DecimalFormat(00);,return(hour=12|hour=0)?12:hour%12)+:+,twoDigits.format(minute)+:+twoDigits.format(second)+,(hour=0,minute=(m=0,second=(s=0,带有一个参数的,setTime,方法,带有两个参数的,setTime,方法,带有三个参数的,setTime,方法,26,.,4.5,初始化类的对象:构造函数,构造方法用于为类的新建的对象分配内存空间和进行初始化,如例,4-1,在,Time1,类中创建了一个构造函数(不带任何参数)。在构造函数中对三个成员变量进行了初始化。构造函数只能在创建对象时用,new,命令调用。定义必须构造函数时,注意两点:,构造方法必须与其类名相同;,构造方法没有返回值,但可以有参数,并且可以重载。,27,.,4.5,初始化类的对象:构造函数(续),例,4-5,举例说明构造函数的重载。,Time4.java,文件的部分代码:,/5,个重载的构造函数,public Time4(),setTime(0,0,0);,public Time4(int h),setTime(h,0,0);,public Time4(int h,int m),setTime(h,m,0);,public Time4(int h,int m,int s),setTime(h,m,s);,public Time4(Time4 time),setTime(time.hour,time.minute,time.second);,不带参数的构造函数,带一个参数的构造函数,带两个参数的构造函数,带三个参数的构造函数,带一个参数为对象的构造函数,28,.,4.6 this,this,定义为被调用的方法的当前对象的引用。,this,引用仅能出现在类中的方法中。,例,4-6,this,的使用,例子说明如何隐式地和显式地使用,this,引用。,例子中,SimpleTime,类的构造方法的三个参数名与,SimpleTime,类三个成员变量名相同。在这种情况下,局部变量在该方法作用域中屏蔽了同名的域。我们可以使用,this,来显式地引用屏蔽的域。通过,this,不但可以引用成员变量,也可通过,this,引用方法,包括构造函数。本例子中通过,this,引用方法。,29,.,4.7,垃圾收集,Java,平台允许创建任意个对象,(,当然会受到系统资源的限制,),,而且当对象不再使用时自动会被清除,这个过程就是所谓的“垃圾收集”。当对象不再被引用的时候,对象就会被作为垃圾收集的对象而清除。为了使对象不再被引用,可以通过设置执行指向某一对象的引用为,null,。例如:,Time1 time=new Time1();,Time=null;,1,垃圾收集器,2,撤销方法,finalize,30,.,4.8 static,方法和域,当声明一个成员变量时,可以指定成员变量是属于一个类的所有对象共享,static,(称为类的变量),还是属于一个类的各个对象所拥有(称为实例变量,是类的实例拥有)。类的变量又称为静态成员,以关键字,static,声明。,例如:,static int count;,类的静态成员的使用格式一般为:,类名,.,静态变量名;,类名,.,静态方法名();,例,4-7,静态方法和域的应用,31,.,4.9,类的组合,一个类中的成员可以是其他类的引用,这叫类的组合。,例,4-8,类的组合,32,.,4.10,包的创建和访问,4.10.1 包的创建,4.10.2 包的使用,33,.,4.10.1,包的创建,建立一个包时,使用,package,语句。,package,语句必须是整个,java,文件的第一个语句。创建,package,语句格式:,package,包名;,例如:将在当前目录下创建一个包,包名为,cn.edu.sytu.it.ch04,,,Time1,放在此包中。,package cn.edu.sytu.it.ch04;,public class Time1,34,.,4.10.2,包的使用,import,语句用于导入用户的源代码文件中使用的其他包中的类,这些类和当前类不在同一个包中。,例如:,import cn.edu.sytu.it.ch04.Time1;,import cn.edu.sytu.it.ch04.*;,*,表示导入整个包,即导入整个子包,cn.edu.sytu.it.ch04,中的所有类,但不包括,cn.edu.sytu.it.ch04,中子包。,如果没有使用,import,语句导入某个包,但又想使用它的某个类,也可以直接在所需要的类名前加上包名,前缀。,例如,要使用类,Time1,类创建一个对象,time,,语句如下:,cn.edu.sytu.it.ch04.Time1 time,;,例,4-9,包的创建及使用,35,.,小结,本章介绍了面向对象程序设计的重要概念,类和对象。类是一种抽象的数据类型,用来表示具有相同性质的一类事物。类封装了对象的属性和方法。类的实例化产生了对象。,一个类的成员包括域、方法和构造函数。,方法和构造函数都可以进行重载。,为了使一个类的所有对象共享同一个变量的值,可以将成员变量定义成静态,static,的。,在定义类时可以通过访问控制符来限定其它类对该类及类的成员的访问。,类和类之间的访问也可通过包来进行控制。,36,.,书上本章习题中:,1.,2.,3.,4.,6.,9.,10.,11.,作业,37,.,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服