欢迎来到天天文库
浏览记录
ID:39969036
大小:339.81 KB
页数:38页
时间:2019-07-16
《java语言的类与对象》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1第五章JAVA语言的类与对象合肥学院计算机系吴晓琴25.1类类描述了具有相同状态(属性)和相同行为(方法)的一组对象。它抽象出一组对象的共性部分。1.Java语言中的类:类是java中的一种重要的复合数据类型,是组成java程序的基本要素。它定义了某一特定类型的所有对象的共同属性和行为。一个类的实现包括两个部分:类声明和类体1.类声明:类的定义格式:className{//privateattributes(定义类的状态或属性)//publicconstructor//(定义构造方法)//publicmethods;(定义类的行为或方法)}要点:类的定义只是一种模型说明,并不是代表
2、具体的东西(对象)。32.类的定义实体包含属性(变量、数据等)和方法(过程和函数)。属性---成员数据;方法---成员函数。4例4:定义学生类classStudent{privateStringname;//学生姓名privateintage;//年龄privateintserialNumber;//学号privateStringsubject;//专业privateintremove;//班级Stringfaculty;//系publicvoiddisplay(){}voidsetage(intx){}}成员数据(属性)成员函数(方法)55.2类的实例创建1.对象:它是具有该类类型
3、的一个特定的个体,是类的一个变量。①特点:具有特定的属性和行为,通过对象的成员变量来维护它的属性,通过对象的成员方法,来实现它的行为。②声明方式:类名对象名如:WatchmyWatch;6③对象的实例化(分配出内存空间):对象名=new类名();如:myWatch=newWatch();要点:可以将对象的声明与实例化合二为一(Java中的对象只有实例化后,系统才真正创建出它并为它分配出内存空间):WatchmyWatch=newWatch();//对象的声明与实例化合二为一④调用对象的成员:对象名.成员名;myWatch.showTime();7⑤消息:对象之间相互作用或通讯是依靠消
4、息来实现的;组成:消息的目的对象;消息所传送到的行为;消息的行为产生时所需要的参数myWatch.setTime(10,30,00);消息的行为产生时所需要的参数消息的目的对象消息所传送到的行为8⑥对象的生存期:创建,使用,删除三个阶段。(1)创建对象:声明并实例化(为它分配内存空间)WatchmyWatch=newWatch();//声明和实例化合二为一要点:如定义出带参数的构造函数,也可以watchmyWatch=newWatch(10,30,00);//实例化时并初始化(2)使用对象:利用对象名来操作访问其public型的成员函数或成员数据:myWatch.setTime(10
5、,30,00);9要点:由于OOP的数据封装特性,成员数据一般都被隐藏,因而不推荐采用对象直接访问类中的成员数据来改变对象的状态,而是通过对象的public型的成员函数来访问对象的成员数据;利用对象不能访问类中的private成员(myWatch.Hour=10;//错误)。如:myWatch.setTime(10,30,00);10(3)对象的删除(清除);A、当对象失除其作用域时,系统自动在后台清除这些对象;publicvoidmyFun(){WatchmyWatch=newWatch();//此时myWatch对象将被删除,寿命不可控。}11B、用户也可强行清除某一对象(将它置
6、为null即可)publicvoidmyFun(){WatchmyWatch=newWatch();myWatch=null;//此时myWatch对象将被删除,寿命可控。}⑦对象之间的相互关系:包含(内嵌)、继承、关联(引用)。122.Java语言中的类的一般定义方式一:class类名{}方式二:class类名extends父类名{}方式三:class类名extends父类名implenents接口名{}隐含地派生于Object类指明父类名指明接口名133.构造函数构造函数主要体现在下面几个方面①构造函数名与类名同名②构造函数是无任何返回值类型定义的public型成员函数。clas
7、sRectangle{publicRectangle(){}publicRectangle(intx,inty,intw,inth){}}14③作用:实现对象在实例化时的初始化(将其成员数据赋初值)。RectanglerectA=newRectangle();//对象在实例化时未初始化RectanglerectA=newRectangle(10,10,200,200);//对象在实例化时初始化④构造函数不能被显式调用例:例:⑤构造函数的可能形式:类中未定义
此文档下载收益归作者所有