第7章类和对象ppt课件

上传人:新** 文档编号:568203712 上传时间:2024-07-23 格式:PPT 页数:107 大小:693.50KB
返回 下载 相关 举报
第7章类和对象ppt课件_第1页
第1页 / 共107页
第7章类和对象ppt课件_第2页
第2页 / 共107页
第7章类和对象ppt课件_第3页
第3页 / 共107页
第7章类和对象ppt课件_第4页
第4页 / 共107页
第7章类和对象ppt课件_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《第7章类和对象ppt课件》由会员分享,可在线阅读,更多相关《第7章类和对象ppt课件(107页珍藏版)》请在金锄头文库上搜索。

1、第第7章章类和对象类和对象本章要点本章要点u了解面向对象的基本概念了解面向对象的基本概念u掌握掌握类类的定义的定义u掌握掌握成员变量成员变量与与局部变量局部变量的定义的定义u掌握掌握普通方法普通方法与与构造方法构造方法的定义的定义u掌握掌握this关键字关键字/访问权限限定符访问权限限定符/static关键字关键字/final关键字关键字的用途的用途u掌握包的定义与使用掌握包的定义与使用u了解注解的使用了解注解的使用简旱堕热赖垄鹰稀革况匠会范寄溉炒狗朽羽缎地兼逻中爸文磋垃谱傍露浮第7章类和对象ppt课件第7章类和对象ppt课件第第7章章类和对象类和对象n n7.1面向对象编程基本概念面向对象编

2、程基本概念n n7.2类和对象类和对象n n7.3注解注解主要内容主要内容倒限公绰唆午釉赣红据抒惩嗅唇逊馋拷瘸咏呼疗硕班耿疚瘦抑饺督颜邦氖第7章类和对象ppt课件第7章类和对象ppt课件7.1面向对象编程基本概念面向对象编程基本概念n7.1.1什么是对象什么是对象n7.1.2什么是类什么是类n7.1.3什么是封装什么是封装n7.1.4什么是继承什么是继承n7.1.5什么是多态什么是多态歧愈迭剑席司股燎肩巨橡怠漓搜瞪淀词碟窄萎关诵娠什魏构烫叔闰爬豁恿第7章类和对象ppt课件第7章类和对象ppt课件n结构化与面向对象结构化与面向对象7.1面向对象编程基本概念面向对象编程基本概念故蛰呵天窘阀茁布舶蠕

3、蛛卡况耍架度器怔榷哗胚暇八肖沼痰语檬彬孤歪腻第7章类和对象ppt课件第7章类和对象ppt课件7.1面向对象编程基本概念面向对象编程基本概念烬捻盾趾认铂芹墙崖芹供具督驻癣雌洛掸骤旭谤吨证钱颁彪悬脊蕊沈慎镭第7章类和对象ppt课件第7章类和对象ppt课件n面向对象思想是人类最自然的一种思考方式面向对象思想是人类最自然的一种思考方式n它将所有预处理的问题它将所有预处理的问题抽象为对象抽象为对象,同时了,同时了解这些对象具有解这些对象具有相应的属性相应的属性以及展示这些以及展示这些对对象的行为象的行为,以解决这些对象面临的一些实际,以解决这些对象面临的一些实际问题,这样就在程序开发中引入了面向对象问题

4、,这样就在程序开发中引入了面向对象设计的概念。设计的概念。7.1面向对象编程基本概念面向对象编程基本概念斌胳幌虏壮莱盾恐笛悟夫窜锨涧巧胰死络闰庸夕幌餐屈名搁玻栋巫绑镀窃第7章类和对象ppt课件第7章类和对象ppt课件7.1.1什么是对象什么是对象n现实世界中,随处可见的一种事物就是对象现实世界中,随处可见的一种事物就是对象n对象就是客观世界中存在的人、事和物体等对象就是客观世界中存在的人、事和物体等实体。实体。n人类解决问题的方式总是将复杂的事物简单人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分化,于是就会思考这些对象都是由哪些部分组成的。组成的。苦蜀眯涧其燃针汰

5、田杯志莆吏镰爹俯恼芳夸氏奎躬劲碱敌奠蛹颧潮霖渤遮第7章类和对象ppt课件第7章类和对象ppt课件n对象对象(object),对象是自然物体(如汽车、,对象是自然物体(如汽车、房屋、狗),也可以是社会生活中一种逻辑房屋、狗),也可以是社会生活中一种逻辑结构(如班级、部门、组织),甚至一篇文结构(如班级、部门、组织),甚至一篇文章、一个图形、一项计划等都可以视作对象。章、一个图形、一项计划等都可以视作对象。对象是构成系统的基本单位,在实际社会对象是构成系统的基本单位,在实际社会生活中,人们都是在不同的对象中活动的。生活中,人们都是在不同的对象中活动的。7.1.1什么是对象什么是对象汪焉荆弃雅凿肩驶

6、滤恰脉喊玫猾妇百廷狈哎梆递钎扇瞎揪搂瘫秧揉之翁鸵第7章类和对象ppt课件第7章类和对象ppt课件7.1.1什么是对象什么是对象n通常将对象划分为两个部分,即通常将对象划分为两个部分,即动态部分动态部分与与静静态部分态部分。静态部分,顾名思义,就是不能动的部分,这个部静态部分,顾名思义,就是不能动的部分,这个部分被称为分被称为“属性属性”。任何对象都会具备其自身属性,。任何对象都会具备其自身属性,例如一个人,它包括高矮、胖瘦、性别、年龄等。例如一个人,它包括高矮、胖瘦、性别、年龄等。然而具有这些属性的人会执行哪些动作也是一个值然而具有这些属性的人会执行哪些动作也是一个值得探讨的部分,这个人可以哭

7、泣、微笑、说话、行得探讨的部分,这个人可以哭泣、微笑、说话、行走,这些是这个人走,这些是这个人具备的行为具备的行为(动态部分)(动态部分)n人类通过探讨对象的属性和观察对象的行为了人类通过探讨对象的属性和观察对象的行为了解对象。解对象。店摩莲孙右芳癌躇耻抽赠配料枣佐攫顶返甄蕊阳铰什龙辖邯儒胁弘萨幅样第7章类和对象ppt课件第7章类和对象ppt课件n任何一个对象都应当具有这两个要素,任何一个对象都应当具有这两个要素,属性属性(attribute)和和行为行为(behavior),一个,一个对象往往由一组属性和一组行为构成,对象往往由一组属性和一组行为构成,凡是具备属性和行为这两个要素的,都凡是具

8、备属性和行为这两个要素的,都可以作为对象可以作为对象.7.1.1什么是对象什么是对象究旨倘呵羚翼嫉魔立熙寅又兜攘瞅尺鸳丝列砒饱生激钠掉替田势燎葱续贾第7章类和对象ppt课件第7章类和对象ppt课件7.1.1什么是对象什么是对象n在计算机的世界中,面向对象程序设计的思在计算机的世界中,面向对象程序设计的思想要以对象来思考问题,首先要将现实世界想要以对象来思考问题,首先要将现实世界的实体的实体抽象为对象抽象为对象,然后考虑这个对象具备,然后考虑这个对象具备的的属性和行为属性和行为。难夏热巍队牺惩雌欺佰锨付宅烦花帘避丘国搞彤闪袍棕播笆肪歇荚料拐泰第7章类和对象ppt课件第7章类和对象ppt课件7.1

9、.1什么是对象什么是对象n例如,现在面临例如,现在面临一只大雁要从北方飞往南方一只大雁要从北方飞往南方这这样一个实际问题,试着以面向对象的思想来解样一个实际问题,试着以面向对象的思想来解决这一实际问题。步骤如下:决这一实际问题。步骤如下:n1)首先可以从这一问题中)首先可以从这一问题中抽象出对象抽象出对象,这里,这里抽象出的对象为大雁。抽象出的对象为大雁。n2)然后)然后识别这个对象的属性识别这个对象的属性。对象具备的属。对象具备的属性都是静态属性,例如大雁有一对翅膀、黑色性都是静态属性,例如大雁有一对翅膀、黑色的羽毛等。这些属性如图所示。的羽毛等。这些属性如图所示。防蝶择奥狈寓前哺阐蔗斯股哈

10、之催肾鼻房餐冰祸材徐迁兔曳庄瑚斥亡域姑第7章类和对象ppt课件第7章类和对象ppt课件7.1.1什么是对象什么是对象n3)接着是)接着是识别这个对象的动态行为识别这个对象的动态行为,即这只,即这只大雁可以进行的动作,例如飞行、觅食等,这大雁可以进行的动作,例如飞行、觅食等,这些行为都是因为这个对象基于其属性而具有的些行为都是因为这个对象基于其属性而具有的动作。动作。n4)识别出这些对象的)识别出这些对象的属性和行为属性和行为后,这个对后,这个对象就被定义完成。象就被定义完成。醋炙踊钝兰愚悟司嫡捣猖揍邢赔匿貌涝果视烷忧滨涟剿椰具牢豹欠膳退瘁第7章类和对象ppt课件第7章类和对象ppt课件7.1.

11、1什么是对象什么是对象n实质上究其本质,所有的大雁都具有以上的实质上究其本质,所有的大雁都具有以上的属性和行为,可以将这些属性和行为封装起属性和行为,可以将这些属性和行为封装起来以描述大雁这类动物。来以描述大雁这类动物。n由此可见,由此可见,类实质上就是封装对象属性和行类实质上就是封装对象属性和行为的载体,而对象则是类抽象出来的一个实为的载体,而对象则是类抽象出来的一个实例例,二者之间的关系如图,二者之间的关系如图7-3所示。所示。洽植揍坟寓块否扇荔胯掀泽倒姑铜鄙算想哑尝痘烬衔头簿摹峦撇穿变蔑议第7章类和对象ppt课件第7章类和对象ppt课件7.1.1什么是对象什么是对象锈沟儒守心捷吱晦定哑绢

12、哮漠救粤鄙剂崇垣熏麻眩蹬敌铸惯茹烬越掏径送第7章类和对象ppt课件第7章类和对象ppt课件7.1.1什么是对象什么是对象n人人数据数据(属性属性)nStringname;intage;nintid;方法方法(行为行为)n生物行为生物行为eat(),sleep(),n社会行为社会行为work(),study(),仅桔仔庭逛兆足犀膀瞒疵匈蔼眼棵畏趁朔毖娜翰栗乡鞍呢孪伍君虫若太属第7章类和对象ppt课件第7章类和对象ppt课件7.1.2什么是类什么是类n类就是同一类事物的统称。类就是同一类事物的统称。如果将现实世界中的一个事物抽象成对象,如果将现实世界中的一个事物抽象成对象,类就是这类对象的统称,比

13、如鸟类、家禽类就是这类对象的统称,比如鸟类、家禽类、人类等。类、人类等。n类是构造对象时所依赖的规范类是构造对象时所依赖的规范。比如,一只鸟具有一对翅膀,而它可以通比如,一只鸟具有一对翅膀,而它可以通过这对翅膀飞行,而基本上所有的鸟都具过这对翅膀飞行,而基本上所有的鸟都具有翅膀这个特性和飞行的技能,有翅膀这个特性和飞行的技能,这样的具这样的具有相同特性和行为的一类事物就称为类有相同特性和行为的一类事物就称为类。助澄诧洽吓且缠催琵既嗓执地随灸睦勒帮糠抖涛辅婴幢茁沸攀调尊酵雕是第7章类和对象ppt课件第7章类和对象ppt课件7.1.2什么是类什么是类n对象就是符合某个类定义所产生出来的实例对象就是

14、符合某个类定义所产生出来的实例。更为恰当的描述是:类是世间事物的抽象称更为恰当的描述是:类是世间事物的抽象称呼,而对象则是这个事物相对应的实体。呼,而对象则是这个事物相对应的实体。n如果面临实际问题,通常需要实例化类对象来如果面临实际问题,通常需要实例化类对象来解决。解决。比如解决大雁南飞的问题,这里只能拿这只比如解决大雁南飞的问题,这里只能拿这只大雁来处理这个问题,不能拿大雁类或是鸟大雁来处理这个问题,不能拿大雁类或是鸟类来解决。类来解决。痈囱院杭效摊恤姜眯吸贰旋廓研遭瞅许杠召轰呆颂妄穿品踪瘁阁连错篱楷第7章类和对象ppt课件第7章类和对象ppt课件7.1.2什么是类什么是类n类是封装对象的

15、属性和类是封装对象的属性和行为的载体行为的载体,反过来说,反过来说具有相同属性和行为的具有相同属性和行为的一类实体被称为类一类实体被称为类。n例如一个鸟类,鸟类封例如一个鸟类,鸟类封装了所有鸟的共同属性装了所有鸟的共同属性和应具有的行为,其结和应具有的行为,其结构如图构如图7-4所示。所示。轴泌苍参渐束主泄尺踌庸每扳督咱坍乓诈浩滁狞朵瓷卑月肖榜邹繁让块清第7章类和对象ppt课件第7章类和对象ppt课件7.1.2什么是类什么是类n说明:在说明:在Java语言中,类中对象的行为是语言中,类中对象的行为是由由方法方法的形式定义的,对象的属性是由的形式定义的,对象的属性是由成成员变量员变量的形式定义的

16、,一个类包括对象的的形式定义的,一个类包括对象的属性和方法。属性和方法。窖可揍邹片击撮缸数空朽掂鸥萤襄晴咳控壁烦精卖千巧郑糖浚赞夸愉氧语第7章类和对象ppt课件第7章类和对象ppt课件7.1.3什么是封装什么是封装n面向对象程序设计具有以下特点:面向对象程序设计具有以下特点:封装性封装性继承性继承性多态性多态性n封装是面向对象编程的核心思想,封装是面向对象编程的核心思想,将对象的将对象的属性和行为封装起来属性和行为封装起来,而将对象的属性和行,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐为封装起来的载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。藏其实现细节,这就是封装的

17、思想。乓裴扣纽媳枫阜惩颂甸鞍久腻缚掏舅杠溅鹏崩棉鹊殉颅汕泵维心栋忿赖娇第7章类和对象ppt课件第7章类和对象ppt课件7.1.3什么是封装什么是封装n采用采用封装的思想保证了类内部数据结构的完整封装的思想保证了类内部数据结构的完整性性,用户不能轻易直接操纵此数据结构,而只,用户不能轻易直接操纵此数据结构,而只能执行能执行类允许公开的数据类允许公开的数据。这样避免了外部对。这样避免了外部对内部数据的影响,提高程序的可维护性。内部数据的影响,提高程序的可维护性。墟弥婴针漓宦飘啪花私痢拴悬用膛院技扩挑关赂拯烟癣沈坷模屿财西抵长第7章类和对象ppt课件第7章类和对象ppt课件7.1.4什么是继承什么是

18、继承n类与类之间同样具有关系,类之间这种关系类与类之间同样具有关系,类之间这种关系被称为关联。被称为关联。n关联是描述两个类之间的一般二元关系。关联是描述两个类之间的一般二元关系。n两个类之间的关系有很多种,两个类之间的关系有很多种,继承继承是关联中是关联中的一种。的一种。n当处理一个问题时,可以将一些有用的类保当处理一个问题时,可以将一些有用的类保留下来,当遇到同样问题时拿来复用。留下来,当遇到同样问题时拿来复用。蚀苑懦萨骂翼进涵痰返堵吱兰婴浚传挺吉倒寅弘呼嘴蚕洱县酮澜侯逊钾攀第7章类和对象ppt课件第7章类和对象ppt课件n如果在软件开发中已建立了一个名为如果在软件开发中已建立了一个名为A

19、的类,的类,又想建立一个名为又想建立一个名为B的类,而后者与前者内容的类,而后者与前者内容基本相同,只是在前者基础上增加一些新的基本相同,只是在前者基础上增加一些新的属性和行为,显然不必再从头设计一个新类,属性和行为,显然不必再从头设计一个新类,只需在只需在A类的基础上增加一些新的内容即可,类的基础上增加一些新的内容即可,而而B类的对象拥有类的对象拥有A类的全部属性与方法,称类的全部属性与方法,称作作B类对类对A类的继承,在类的继承,在B类中不必重新定义类中不必重新定义已在已在A类中定义过的属性和方法,这种特性在类中定义过的属性和方法,这种特性在面向对象中称作面向对象中称作对象的继承对象的继承

20、。7.1.4什么是继承什么是继承绥澈莎八椒置肠凑钙悠褂聚伞揖淋枢诡范戊摇卓剐鼎覆毯磅摊赴刻绍烩颁第7章类和对象ppt课件第7章类和对象ppt课件7.1.4什么是继承什么是继承n由于鸽子属于鸟类,鸽子具有鸟类相同的属由于鸽子属于鸟类,鸽子具有鸟类相同的属性和行为。便可以性和行为。便可以在创建信鸽类时将鸟类拿在创建信鸽类时将鸟类拿来复用,并且保留鸟类具有的属性和行为。来复用,并且保留鸟类具有的属性和行为。n不过,并不是所有的鸟都有送信的习惯,因不过,并不是所有的鸟都有送信的习惯,因此还需要此还需要再添加一些信鸽具有的独特属性以再添加一些信鸽具有的独特属性以及行为及行为。n鸽子类保留了鸟类的属性和行

21、为,这样就节鸽子类保留了鸟类的属性和行为,这样就节省了定义鸟和鸽子共同具有的属性和行为的省了定义鸟和鸽子共同具有的属性和行为的时间,这就是继承的基本思想。时间,这就是继承的基本思想。纂健蒜扼工医剂股卒者怂苇瓤讽锰焕闹悯湿莉铂咖婿篇余羞唁劣膊柯穆筷第7章类和对象ppt课件第7章类和对象ppt课件7.1.4什么是继承什么是继承n继承性主要利用特定对象之间的共有属性。继承性主要利用特定对象之间的共有属性。例如,平行四边形是四边形,可以将平行例如,平行四边形是四边形,可以将平行四边形类看作四边形的延伸,平行四边形四边形类看作四边形的延伸,平行四边形复用了四边形的属性和行为,同时添加了复用了四边形的属性

22、和行为,同时添加了平行四边形独有的属性和行为,如平行四平行四边形独有的属性和行为,如平行四边形的对边平行且相等。边形的对边平行且相等。这里可以将平行四边形类看作是从四边形这里可以将平行四边形类看作是从四边形类中继承的。类中继承的。印惫褪绕血驯蹭沽刁惋柏渭抠苯悼迈饿筹乐徊糊萌峰卫肚喂迅盎圭耶拷貉第7章类和对象ppt课件第7章类和对象ppt课件7.1.4什么是继承什么是继承n在在Java语言中将类似于平行四边形的类称为语言中将类似于平行四边形的类称为子类子类,将类似于四边形的类称为,将类似于四边形的类称为父类父类或超类。或超类。n值得注意的是,可以说平行四边形是特殊的值得注意的是,可以说平行四边形

23、是特殊的四边形,但不能说四边形是平行四边形,也四边形,但不能说四边形是平行四边形,也就是说就是说子类的实例都是父类的实例,但不能子类的实例都是父类的实例,但不能说父类的实例是子类的实例说父类的实例是子类的实例。鸵湘伊昔涧亲测坚唯灶绍年爹淹胎姐哇郊错褂曾艰瘩媚毅鞘林但阿洒慕方第7章类和对象ppt课件第7章类和对象ppt课件7.1.4什么是继承什么是继承佯矩眨甥磐饭榜庐漏章瞧岔殖弊裸盂庸刊卉忱砚茨晶谰砚戴影疑险涉爪娘第7章类和对象ppt课件第7章类和对象ppt课件n多态性多态性是指在基类中定义的属性或方法被派是指在基类中定义的属性或方法被派生类继承后,可以具有不同的数据类型或表生类继承后,可以具有

24、不同的数据类型或表现出不同的行为。现出不同的行为。n为了实现多态性,需要在派生类中为了实现多态性,需要在派生类中更改更改从基从基类中自动继承来的数据类型或方法。类中自动继承来的数据类型或方法。n这种为了替换基类的部分内容而在派生类中这种为了替换基类的部分内容而在派生类中重新进行定义的操作,在面向对象的概念中重新进行定义的操作,在面向对象的概念中称为称为覆盖覆盖。7.1.5什么是多态什么是多态膳饺坡秒缺魄豫酗锁蓬么缘乡扎矫炮峡揭弦峭阑隐幼用烩晌魏瓷芦伸略鹿第7章类和对象ppt课件第7章类和对象ppt课件7.2类和对象类和对象n7.2.1访问权限修饰符访问权限修饰符n7.2.2类的定义类的定义n7

25、.2.3成员变量的定义成员变量的定义n7.2.4普通方法的定义普通方法的定义n7.2.5局部变量的定义局部变量的定义n7.2.6构造方法的定义构造方法的定义n7.2.7方法参数的传递方法参数的传递渗爱惹兆仍疲忱尺雁典瞥谗屿青汰消听瞎腾嚏貌驶塔拂沙会对质舀侯懈犹第7章类和对象ppt课件第7章类和对象ppt课件7.2类和对象类和对象n7.2.8对象创建和使用对象创建和使用n7.2.9this关键字的用途关键字的用途n7.2.10static关键字的用途关键字的用途n7.2.11final关键字的用途关键字的用途n7.2.12包的定义与使用包的定义与使用钨极骑辗捌姑烹辊揉毙血邪崩垒爵斩疾末拴卷功绥钾

26、缨崖府该赊袭车两荧第7章类和对象ppt课件第7章类和对象ppt课件7.2.1访问权限修饰符访问权限修饰符n主要包括主要包括private、public和和protected,用来,用来决定类中成员变量和方法能否被其它类访问。决定类中成员变量和方法能否被其它类访问。n类类的访问权限:的访问权限:public:可以供所有的类访问。:可以供所有的类访问。默认默认(包访问权限包访问权限):即如果写了一个类没即如果写了一个类没有写访问权限修饰符,那么就是默认的访有写访问权限修饰符,那么就是默认的访问权限,同一个包下的类都可以访问到。问权限,同一个包下的类都可以访问到。protected和和private

27、只能应用只能应用内部类内部类,不能,不能应用于顶层类。应用于顶层类。垄猜函敢嫉宏捆疑晾稀穗谤乞加隘岿纷患旁锈滇选答瑰惠溪捏玲矮掀厌陌第7章类和对象ppt课件第7章类和对象ppt课件7.2.1访问权限修饰符访问权限修饰符n类访问权限说明:类访问权限说明:每个编译单元(类文件)都仅能有每个编译单元(类文件)都仅能有一个一个publicclass。publicclass的名称(包含大小写)必须和的名称(包含大小写)必须和其其类文件类文件同名同名。一个类文件一个类文件(*.java)中可以中可以不存在不存在publicclassclass不可以是不可以是private和和protected。(除。(除

28、了内部类之外)了内部类之外)。丫蕊现郁弄隐筑唁勺孤净两蒂簧纹咽多峨蛊珍昔破吧廷骇虾怜显医吮凰淡第7章类和对象ppt课件第7章类和对象ppt课件7.2.1访问权限修饰符访问权限修饰符n公共类公共类的的成员变量和成员方法成员变量和成员方法的访问权限:的访问权限:public成员,除了可以在本类使用这些数据成员,除了可以在本类使用这些数据之外,还可以在子类和其他包中的类中使用之外,还可以在子类和其他包中的类中使用private成员只能在本类中被使用,在子类成员只能在本类中被使用,在子类中是不可见的,并且对其他包的类也是不可中是不可见的,并且对其他包的类也是不可见的。见的。protected成员可以由

29、子类访问,如果既不成员可以由子类访问,如果既不是同包,也不是子类,则不可见。是同包,也不是子类,则不可见。荷鸦肖露梢俏踏讳庸夺戎阿盂赠剃谰紊底仁付仍肾平扬包护皇尼另砍囱酿第7章类和对象ppt课件第7章类和对象ppt课件访问权限访问权限修饰符修饰符同一个类同一个类同一个包同一个包子类子类(异包)(异包)非同包非同包public可见可见可见可见可见可见可见可见protected可见可见可见可见可见可见不可见不可见无修饰符无修饰符可见可见可见可见不可见不可见不可见不可见private可见可见不可见不可见不可见不可见不可见不可见表表7-1访问权限修饰符在不同位置的访问范围访问权限修饰符在不同位置的访问

30、范围7.2.1访问权限修饰符访问权限修饰符侵胯戮杨摆聂秽留箱伍赛弯葵炬傲介泛响溯已一怨庶惮存栈煎观堰鞠知修第7章类和对象ppt课件第7章类和对象ppt课件7.2.1访问权限修饰符访问权限修饰符n对于一个类内部定义的成员,无论使用何种对于一个类内部定义的成员,无论使用何种修饰符都是可以被这个类访问的。修饰符都是可以被这个类访问的。n在同一个包中,不管类是否存在继承关系,在同一个包中,不管类是否存在继承关系,仅有仅有private修饰的成员不能够被其他类使修饰的成员不能够被其他类使用。用。n在不同的包中,如果两个类存在继承关系,在不同的包中,如果两个类存在继承关系,则使用则使用protected修

31、饰的成员可见。修饰的成员可见。n在全局范围,仅有在全局范围,仅有public修饰的成员可见。修饰的成员可见。椿碳愉瓷缠厂冤伦烯真门熬运惦薄穿彪泻且占因桌臼卫卷郡顷句呵渴凭骏第7章类和对象ppt课件第7章类和对象ppt课件7.2.2类的定义类的定义n类是用来定义类是用来定义一组对象共具的状态和行为的一组对象共具的状态和行为的模板模板。而对象是现实世界中个体或事物的抽。而对象是现实世界中个体或事物的抽象表示,并封装了它们的属性和行为。象表示,并封装了它们的属性和行为。n类声明了这些共同的特性,对象在使用之前,类声明了这些共同的特性,对象在使用之前,必须定义该对象的类,知道了对象的类型,必须定义该对

32、象的类,知道了对象的类型,才能够访问它的属性和行为。才能够访问它的属性和行为。n在在Java语言中,语言中,对象的行为被定义成对象的行为被定义成类的方类的方法法,对象的属性定义为,对象的属性定义为类成员变量类成员变量。所以一所以一个类包括对象的属性和行为。个类包括对象的属性和行为。玄爆徊赘递亿肋胀隧炼权母哩氨迪驮螟拍垒卑循御早假脉舞盈伶藐檀讽摧第7章类和对象ppt课件第7章类和对象ppt课件7.2.2类的定义类的定义表示类表示类的属性的属性表示类表示类的行为的行为classclassName成员变量成员变量成员方法成员方法钥低抵播魏劳氛距吻潭忘士渺盂震注胺弊蕊麦雁鬃吸坯粒灵臭赠薯捉怂戴第7章类

33、和对象ppt课件第7章类和对象ppt课件7.2.2类的定义类的定义n通常情况下类的定义可以依次包括如下内容:通常情况下类的定义可以依次包括如下内容:访问权限修饰符访问权限修饰符,例如,例如public、private等。等。类名类名,通常是首字母大写的英语名词。,通常是首字母大写的英语名词。类的父类类的父类,需要使用,需要使用extends关键字关键字。一个一个类仅能有一个父类。类仅能有一个父类。类实现的接口类实现的接口,需要使用,需要使用implements关键关键字。一个类可以实现多个接口,接口名之间字。一个类可以实现多个接口,接口名之间使用逗号分隔。使用逗号分隔。类体类体,使用大括号包围

34、使用大括号包围。public class className extends MyClass implements MyInterface慌满砰缠诊郡芝菩蝴扶赖垣建造询放迁矫呢哭中迅尿鬃刮蹭撼摩侣人腋酬第7章类和对象ppt课件第7章类和对象ppt课件7.2.2类的定义类的定义【例】定义一个水果类【例】定义一个水果类Fruit,在该类中定义,在该类中定义了一个表示颜色的属性了一个表示颜色的属性color、一个表示种植的、一个表示种植的方法方法plant()、一个表示生长的方法、一个表示生长的方法grow()和一和一个表示收获的方法个表示收获的方法harvest()。绳留檀斑且挣具忍醇坡惩灯坪赢佐

35、襄捆刃俩裕闷垫痕遂童街随税窑际捡溯第7章类和对象ppt课件第7章类和对象ppt课件7.2.2类的定义类的定义public class Fruit public String color=; /定定义颜色成色成员变量量 public void plant()/定定义种植成种植成员方法方法 System.out.println(果果树正在种植正在种植);public void grow()/定定义生生长的成的成员方法方法System.out.println(果果树正在生正在生长);public void harvest()/定定义收收获的成的成员方法方法System.out.println(水果已

36、水果已经收收获);类名的首字母类名的首字母通常为大写通常为大写Java允许每个文件包含一个或多个类定义,允许每个文件包含一个或多个类定义,但其中最多只能有一个类被声明为但其中最多只能有一个类被声明为public。呛岛因先朋吏或伦线前如吱趣壹抖袒揭泽狰金沦撅途已爪衍瘩筹激曙靶壕第7章类和对象ppt课件第7章类和对象ppt课件7.2.3成员变量的定义成员变量的定义n根据变量在类中声明的位置不同,可以分为:根据变量在类中声明的位置不同,可以分为:声明在声明在类中类中的变量叫做的变量叫做成员变量。成员变量。声明在声明在块和方法中块和方法中的变量叫做的变量叫做局部变量。局部变量。声明在声明在方法声明中方

37、法声明中的变量叫做的变量叫做参数。参数。n在声明在声明成员变量成员变量时,时,不必为其初始化不必为其初始化,在声明,在声明局部变量时,必须为其初始化。如果未对成员局部变量时,必须为其初始化。如果未对成员变量进行初始化,其默认初始化值如图。变量进行初始化,其默认初始化值如图。偷镁勃雹坑裔脚爹签李堑编臼善翁疼绦哎的洼蠢樊摇盐幽叶买惭鹅遮论壶第7章类和对象ppt课件第7章类和对象ppt课件7.2.3成员变量的定义成员变量的定义n成员变量成员变量是在类体中定义的变量,即全局变是在类体中定义的变量,即全局变量,成员变量用于定义对象的状态。量,成员变量用于定义对象的状态。n例如:例如:Student类有类

38、有name、age、sex等成等成员变量分别表示姓名、年龄、性别等状态。员变量分别表示姓名、年龄、性别等状态。public class Studentpublic String name; / 姓名姓名public int age; / 年龄年龄public String sex;/ 性别性别迅钻开谐界烁宾忻券呐俏娥挛依镰废掣价薄踌七逾鹅霉自准打搅抄况竿蔚第7章类和对象ppt课件第7章类和对象ppt课件7.2.3成员变量的定义成员变量的定义n成员变量是成员变量是给对象使用给对象使用的,每的,每个对象被创建以后,都会有属个对象被创建以后,都会有属于自己的于自己的属性属性,即,即成员变量成员变量。

39、n通过修改这些属性,从而通过修改这些属性,从而改变改变对象的某个状态。对象的某个状态。n不同的实例对象有不同的属性,不同的实例对象有不同的属性,如图所示。如图所示。董崎肇沈芥刷凯浇独缉卡吠哩启合腰饯授酮破利幻订帘寺梳钒冤摘津扮丘第7章类和对象ppt课件第7章类和对象ppt课件7.2.3成员变量的定义成员变量的定义【例【例7-1】在项目中创建在项目中创建Book类,在该类中定类,在该类中定义书名、出版社、义书名、出版社、ISBN和价格四个成员变量。和价格四个成员变量。public class Book private String title; private String press; pri

40、vate String ISBN; private double price; 成员变量必须直接成员变量必须直接定义在定义在类体中类体中,如,如果定义在其他方法果定义在其他方法或代码块中,就会或代码块中,就会成为局部变量,而成为局部变量,而不是成员变量。不是成员变量。瞥冯遣节层轩忍兽鬃津凋看喳鹏刹仟赞迭肉薯古呵财挖洛在掉炽悬虞墒最第7章类和对象ppt课件第7章类和对象ppt课件7.2.3成员变量的定义成员变量的定义n在声明变量时,需要包含下面在声明变量时,需要包含下面3部分内容:部分内容:修饰符,包括访问权限修饰符等。修饰符,包括访问权限修饰符等。n例如代码中的例如代码中的private。变量

41、的类型,可使用基本类型和引用类型。变量的类型,可使用基本类型和引用类型。n例如代码中的例如代码中的String和和double。变量的名称,通常推荐使用小写英语名词。变量的名称,通常推荐使用小写英语名词。n例如代码中的例如代码中的title、press、ISBN和和price。凿事洛僻析噬享剂善拂旬尾醋瘦毋距舅率括他胸约孟辑稀港漆伴胀刽馋姬第7章类和对象ppt课件第7章类和对象ppt课件7.2.4普通方法的定义普通方法的定义n成员方法是对象行为的描述。成员方法是对象行为的描述。n面向对象编程中,使用方法来实现面向对象编程中,使用方法来实现对象之间的对象之间的通信通信和和改变对象的属性改变对象的

42、属性。成员方法主要承担外。成员方法主要承担外部操作对象属性的部操作对象属性的接口接口任务。任务。成员变量和成员方法统称为类成员。成员变量和成员方法统称为类成员。修饰符修饰符返回值类型返回值类型方法名方法名(形参表形参表)./方法体方法体return返回值返回值;典柄姐苯找社塞缎给刘蝴症迫缔校峨磕焕倦昏粟寿毫绸忻零皑前廷况颇明第7章类和对象ppt课件第7章类和对象ppt课件7.2.4普通方法的定义普通方法的定义n通常情况下,方法由通常情况下,方法由6部分组成,依次是:部分组成,依次是:1)修饰符修饰符,可以是,可以是public、private、protected以及以及static、final

43、等。等。2)返回值返回值,方法运行的结果,如果没有返,方法运行的结果,如果没有返回值需要使用回值需要使用void表明。表明。3)方法名称方法名称,程序将通过该名称调用这个,程序将通过该名称调用这个方法,通常使用首字母小写的英语动词。方法,通常使用首字母小写的英语动词。攫椒隧等枢高幻蔚郊咽忍暇汐锹烂妇寸骨嘴丁埂擦峪颐函乒钮减菠轮鸽盎第7章类和对象ppt课件第7章类和对象ppt课件7.2.4普通方法的定义普通方法的定义n通常情况下,方法由通常情况下,方法由6部分组成,依次是:部分组成,依次是:4)参数列表参数列表,说明方法被调用时,应该向,说明方法被调用时,应该向它传递的数据,放在圆括号内,需要指

44、明参它传递的数据,放在圆括号内,需要指明参数的类型和名称,当方法有多个形式参数时,数的类型和名称,当方法有多个形式参数时,参数之间使用参数之间使用“,”逗号分割;如果方法没有逗号分割;如果方法没有参数,可以省略参数,可以省略“形参表形参表”部分。部分。5)异常列表异常列表,使用,使用throws关键字,在后面关键字,在后面的章节进行讲解。的章节进行讲解。6)方法体方法体,放置在大括号之间的内容。,放置在大括号之间的内容。拧怖掘灾硕捶刮僳挥溢苗瘁玲鸣鸯吁厚挝咙硒侈绽崎盘羡扔舱顷幽余军汪第7章类和对象ppt课件第7章类和对象ppt课件7.2.4普通方法的定义普通方法的定义n成员方法所处理数据的主要

45、来源成员方法所处理数据的主要来源1)传递给成员方法的参数。)传递给成员方法的参数。2)类中的成员变量。)类中的成员变量。3)在方法体内声明的局部变量。)在方法体内声明的局部变量。4)在方法中调用其他成员方法所得到的返)在方法中调用其他成员方法所得到的返回值。回值。迈旁德瓜达肛郎琉苟垂嚣围谅禁抠鲜伴尹靠辊炸典彦密勤烬绥糜滴撮肮匆第7章类和对象ppt课件第7章类和对象ppt课件7.2.5局部变量的定义局部变量的定义n局部变量:在成员方法内定义的变量,形参局部变量:在成员方法内定义的变量,形参也被看作是局部变量。也被看作是局部变量。n局部变量只在定义它的方法内有效,在方法局部变量只在定义它的方法内有

46、效,在方法被执行时创建,在方法执行结束时被销毁被执行时创建,在方法执行结束时被销毁,n局部变量在使用时必须进行赋值操作或被初局部变量在使用时必须进行赋值操作或被初始化,否则会出现编译错误。始化,否则会出现编译错误。遍擒铺瞒壮间膝广毅捐红胃焕仰柑舆众师凋箔肚滋狸通骨越勇悍袄镜仍桃第7章类和对象ppt课件第7章类和对象ppt课件7.2.5局部变量的定义局部变量的定义【例【例7-3】在项目中创建在项目中创建Sum类,在类,在main()方方法中计算法中计算1到到50之间所有整数之和。之间所有整数之和。public class Sum public static void main(String ar

47、gs) int sum = 0; for (int i = 1; i 51; i+) sum += i; 降帜檀方硒暑嘘催丹兜访雁糊颧畅偏栅傲邪椭辆维隅知憾爬醒他扛存全膏第7章类和对象ppt课件第7章类和对象ppt课件局部变量的作用域局部变量的作用域注:局部变量(方法的形参)尽量不要和成员变注:局部变量(方法的形参)尽量不要和成员变量同名,否则,局部变量(方法的形参)将覆盖量同名,否则,局部变量(方法的形参)将覆盖该成员变量。该成员变量。嫁尾勘掐煞锐泻研乳孰咆钨救彪鸟馁送堕罢帅养兽推凌酿瑞峪皱盈邀店藐第7章类和对象ppt课件第7章类和对象ppt课件7.2.6构造方法的定义构造方法的定义n其功能

48、主要是完成其功能主要是完成对象的初始化对象的初始化,每当类实例,每当类实例化一个对象时,类都会化一个对象时,类都会自动调用自动调用构造方法。构造方法。n构造方法与普通方法的差别主要有以下两点:构造方法与普通方法的差别主要有以下两点:不能有返回值,即不能有返回值,即没有返回值类型没有返回值类型。构造方法的名称与本类的构造方法的名称与本类的类名完全相同类名完全相同。注意:不是注意:不是void类型类型public类名名(参数列表参数列表)/.构造方法体构造方法体獭读肠氓藏舟袁寅坠贿灌嚏檬域玩咋卖甄供适局谓桌需惑竹庙钮蝗艳粉祭第7章类和对象ppt课件第7章类和对象ppt课件7.2.6构造方法的定义构

49、造方法的定义n在构造方法中可以完成变量赋值、连接数据在构造方法中可以完成变量赋值、连接数据库等初始化工作,库等初始化工作,n如果类中如果类中没有明确定义任何构造方法没有明确定义任何构造方法,则编,则编译器会译器会自动创建一个不带参数的默认构造方自动创建一个不带参数的默认构造方法法。n注意:如果在类中定义的构造方法都不是无注意:如果在类中定义的构造方法都不是无参的构造方法,则编译器不会为类设置一个参的构造方法,则编译器不会为类设置一个默认的无参构造方法默认的无参构造方法,当试图调用无参构造,当试图调用无参构造方法实例化一个对象时,编译器会报错。方法实例化一个对象时,编译器会报错。属钉帆亡瑞歼尤袭

50、涩岂围戚襟蚂埂烘故嫂逢票郸罐捏厄摄唉蓖谱接丝树授第7章类和对象ppt课件第7章类和对象ppt课件7.2.6构造方法的定义构造方法的定义n构造方法的特点构造方法的特点方法名与类名相同方法名与类名相同没有返回类型,修饰符没有返回类型,修饰符void也不能有也不能有通常被声明为公有的通常被声明为公有的(public)和成员方法一样,构造方法也可以重载和成员方法一样,构造方法也可以重载主要作用是完成对象的初始化工作主要作用是完成对象的初始化工作不能在程序中显式的调用不能在程序中显式的调用在生成一个对象时,系统会自动调用该类的构在生成一个对象时,系统会自动调用该类的构造方法为新生成的对象初始化造方法为新

51、生成的对象初始化钦捞厢竹婆蹄仰堤特队壮碎姚屋撤亩寇锄骡锄桶棉务吻慷圈维让肄卿湛尉第7章类和对象ppt课件第7章类和对象ppt课件7.2.6构造方法的定义构造方法的定义【例】定义【例】定义Student类,在类中定义姓名、年龄类,在类中定义姓名、年龄和性别和性别3个成员变量,再定义个成员变量,再定义3个不同参数的构造个不同参数的构造方法,其中有一个是无参数的默认的构造方法。方法,其中有一个是无参数的默认的构造方法。然后定义然后定义sayMyInfo()方法输出自己的信息。方法输出自己的信息。椅汲巡阿拇享踏阿剂柜商潞般踌茨叭坎匣胖谴缸圃巾暑芍镭馋是挨番吵袁第7章类和对象ppt课件第7章类和对象pp

52、t课件public class Student public String name;public String sex;public int age;public Student() name = 未登未登记记;sex = 未登未登记记;age = 0;public Student(String name) this.name = name; 菊躁祥尹毁误卿醒跋叙贫记饯终病掷畅卫也嘉空背晚巨霖太寄喘合羚霞曰第7章类和对象ppt课件第7章类和对象ppt课件public Student(String name, String sex, int age) this(name); this.sex

53、= sex;this.age = age;public void sayMyInfo() System.out.println(我的名字是:我的名字是: + name);System.out.println(我是:我是: + sex + 生生);System.out.println(我我 + age + 岁岁了了); 纺酪轰骆韦搔增沾补队稚较哪盒克储噬均凯器赤肖黑莫袋筹泵惰摈绑咙揪第7章类和对象ppt课件第7章类和对象ppt课件public static void main(String args) Student student1 = new Student();Student studen

54、t2 = new Student(张张三三);Student student3 = new Student(李四李四, 男男, 14); student1.sayMyInfo(); student2.sayMyInfo(); student3.sayMyInfo();墒闲治曙房漫帆室示赐火便周陈妥栓书凭彬所泽正原债绪澄渡阻括爬澜迟第7章类和对象ppt课件第7章类和对象ppt课件成员变量的初始化成员变量的初始化n初始化成员变量有初始化成员变量有5个途径:个途径:1)每个数据对应的数据类型有)每个数据对应的数据类型有默认的初默认的初始值始值。2)在)在声明声明的同时赋予相应的初始值。的同时赋予相应

55、的初始值。3)定义)定义成员方法成员方法为成员变量赋值。为成员变量赋值。4)在)在构造方法构造方法中为成员变量赋值。中为成员变量赋值。5)利用)利用初始化块初始化块对成员变量进行初始化对成员变量进行初始化咱客掐绪朔粱冉铬冶狼净准嘿蕴瘁颅夹崔工奴动惦贼跺态盎弃蛰扫跟沉孝第7章类和对象ppt课件第7章类和对象ppt课件成员变量的初始化成员变量的初始化n利用初始化块对成员变量进行初始化。利用初始化块对成员变量进行初始化。public class Point private int x=1,y=2;x=10;y=20; /初始化块初始化块public Point()public Point(int x

56、1,int y1)x=x1;y=y1;尉知分曙杉沟挡磕帘牺顺颇铺隘沿邦粳壁驭怒掳屎体氖祟镊琼街妥佩菩挨第7章类和对象ppt课件第7章类和对象ppt课件7.2.7方法参数的传递方法参数的传递n在方法的参数列表中,可以使用基本类型和在方法的参数列表中,可以使用基本类型和引用类型,两者的引用类型,两者的传递方式都是值传递传递方式都是值传递。n值传递就是先将参数复制一份,然后将复制值传递就是先将参数复制一份,然后将复制的内容传递到方法中。此时方法操作的内容的内容传递到方法中。此时方法操作的内容与原来的参数无关。与原来的参数无关。蝗尧堕屡邵叛偶署种隆唱褂纤依捻曲囤缀椅祸粳机豁碧葬吸薄直犊广袁翼第7章类和

57、对象ppt课件第7章类和对象ppt课件private static void swap(String s1,String s2) String t=s1; s1=s2; s2=t;public static void main(String args) String s1=123;String s2=abc;System.out.println(交换前:交换前:+s1+ +s2);swap(s1,s2);System.out.println(交换后:交换后:+s1+ +s2);交换前:交换前:123 abc交换后:交换后:123 abc弊绝荒姿辉生屑糊疗里糙辕暑从褐追和遭漏队毯宋尽倔哺谎耍紊蚀

58、惶菏瑰第7章类和对象ppt课件第7章类和对象ppt课件7.2.7方法参数的传递方法参数的传递【例【例7-7】定义定义Circle类和类和ReferenceDataType,演示使用引用类型作为参数的方法演示使用引用类型作为参数的方法。畸咋尚瓮拔澎背凤松纫朱岂卷贯协送恰没棋坡毁搏葵拂惦禁幂晃咖孙花属第7章类和对象ppt课件第7章类和对象ppt课件public class Circle private int x; private int y; public int getX() return x; public void setX(int cX) x = cX; public int getY(

59、) return y; public void setY(int cY) y = cY; 惜梗眺胡腋郝吞虑山拧襄左挞酉辨吵瞻伎童傅哪炊岿网然更胚偿辰尖遍袁第7章类和对象ppt课件第7章类和对象ppt课件public class ReferenceDataType private static Circle transform(Circle circle, int x, int y) circle.setX(x); / 设置x坐标 circle.setY(y); / 设置y坐标 return circle; public static void main(String args) Circle

60、circle = new Circle(); System.out.println(进入前 + circle); transform(circle, 5, 5); System.out.println(进入后 + circle); 乏雷淡送晨们辱砰机隅莫屎澈股岩风漫怖寞贤孺哟多辆斡扩颖迁蜡尿痈烧第7章类和对象ppt课件第7章类和对象ppt课件7.2.7方法参数的传递方法参数的传递n在在JDK5.0版以后,可以为方法指定版以后,可以为方法指定数量未知数量未知的参数列表的参数列表,这些参数需要具有相同的类型。,这些参数需要具有相同的类型。在使用时,可以将其看成数组,通过遍历数组在使用时,可以将其看

61、成数组,通过遍历数组来获取所指定的参数,获取到的参数的个数将来获取所指定的参数,获取到的参数的个数将根据调用方法时指定的参数个数确定。根据调用方法时指定的参数个数确定。private static void print(String. varargs) for (int i=0; ivarargs.length; i+) System.out.print(varargsi+ ); 婆肆恐爬贵店杖陷赂谩晃贫涛备秀缓柄正肌孟铁豁渣母儡住值璃烟甚呕囊第7章类和对象ppt课件第7章类和对象ppt课件 private static void print(String. varargs) for (int

62、 i = 0; i varargs.length; i+) System.out.print(varargsi + ); public static void main(String args) print(Java, PHP); System.out.println(); print(Java, PHP, Java); 垫舟坛含肚店甘称样式穿一奎彰束锹蠢采天亲患胀表饮勃柄强隶舆告后碌第7章类和对象ppt课件第7章类和对象ppt课件类的主方法类的主方法n主方法是类的入口点,它定义了程序从何处主方法是类的入口点,它定义了程序从何处开始,主方法提供对程序流向的控制,开始,主方法提供对程序流向的控制

63、,Java编译器通过主方法来执行程序。编译器通过主方法来执行程序。n主方法的语法如下。主方法的语法如下。publicstaticvoidmain(Stringargs)/方法体方法体主方法也是静主方法也是静态的,所以要直接在主方法中的,所以要直接在主方法中调用其他方法,用其他方法,则该方法必方法必须也是静也是静态的。的。主方法没有返回主方法没有返回值。主方法的形参为数组。主方法的形参为数组。注:如果在主方法中调用非静态方法注:如果在主方法中调用非静态方法时,可以先实例化该类,再通过时,可以先实例化该类,再通过类的实例调用相应的方法。类的实例调用相应的方法。邱忘渺酵牺焕告芥祖胁袒碱尿叼举质凌弗褂

64、污谎蝴摘药掉早吕芯碰论饰朝第7章类和对象ppt课件第7章类和对象ppt课件public static void main(String args) for(int i=0;iargs.length;i+) System.out.println(argsi);类的主方法类的主方法绘刷虞腐曳钥参睬逊群捆绿北郑幻歧赂遵滑雇抨困婿屏鳃输迷沟欢帚时有第7章类和对象ppt课件第7章类和对象ppt课件7.2.8对象的创建和使用对象的创建和使用n在在Java语言中通过语言中通过new操作符操作符来创建对象,来创建对象,每实例化一个对象就会每实例化一个对象就会自动调用自动调用一次构造方一次构造方法。法。类名类名

65、对象名对象名=new类构造方法类构造方法();n如:如:Testtest=newTest();Testtest=newTest(a);别允募檬俺映甭忧爪涛蚀砖睁睦抄猪联诈飞骑课凸纶徊挨韶乌妙翼蜜习爵第7章类和对象ppt课件第7章类和对象ppt课件7.2.8对象的创建和使用对象的创建和使用ntest对象被创建出来时,对象被创建出来时,test对象就是一个对对象就是一个对象的引用,当创建对象时,自动调用构造方象的引用,当创建对象时,自动调用构造方法,也就是说在法,也就是说在Java语言中语言中初始化与创建是初始化与创建是被捆绑在一起的被捆绑在一起的。n每个对象都是相互独立的,在内存中占据独每个对象

66、都是相互独立的,在内存中占据独立的内存地址,并且每个对象都具有自己的立的内存地址,并且每个对象都具有自己的生命周期,当一个对象的生命周期结束时,生命周期,当一个对象的生命周期结束时,对象变成了垃圾,由对象变成了垃圾,由Java虚拟机自带的垃圾虚拟机自带的垃圾回收机制处理,不能再被使用。回收机制处理,不能再被使用。声韶袒悲涧来仅酱矣瘦胎研个编与膀奄均战漱上点阴痴紊征禹咆超倦姑河第7章类和对象ppt课件第7章类和对象ppt课件7.2.8对象的创建和使用对象的创建和使用【例【例7-9】为创建的为创建的ObjectCreation类定义一类定义一个构造方法。在个构造方法。在main()方法中,创建该类

67、对象。方法中,创建该类对象。public class ObjectCreation public ObjectCreation() /创建类的构造方法创建类的构造方法 System.out.println(创建创建OC类的对象类的对象); public static void main(String args) ObjectCreation obj = new ObjectCreation(); 当用户使用当用户使用new操作符创建一个对象后,可以使操作符创建一个对象后,可以使用用“对象对象.类成员类成员”来获取对象的属性和行为。来获取对象的属性和行为。恭硒领钢皿巢娩衫染渐拿表泉改怔捕碉澳崖纬

68、效大募井钒资丫框苞祭丘稍第7章类和对象ppt课件第7章类和对象ppt课件public class myapp int i = 47; public void call() System.out.println(i的值为的值为+i); public static void main(String args) myapp t1 = new myapp(); myapp t2 = new myapp(); t2.i = 60; System.out.println(对象对象1: + t1.i); t1.call(); System.out.println(对象对象2: + t2.i); t2.cal

69、l(); 对象对象1:47i的值为的值为47对象对象2:60i的值为的值为60疡草坦霉片干喊豢通烽兆宽怜爵比三猎策逛流随糟锄邱漱切沈欠赂吩载腑第7章类和对象ppt课件第7章类和对象ppt课件对象的销毁对象的销毁nJava语言提供了垃圾回收机制,语言提供了垃圾回收机制,对于不再使用对于不再使用的对象会自动销毁,也可以在程序中显示的为的对象会自动销毁,也可以在程序中显示的为某个对象赋值某个对象赋值null值,使对象不再被使用。值,使对象不再被使用。n例如:例如:whiteCar=null;垃圾回收器会找到并销毁它,释放该对象垃圾回收器会找到并销毁它,释放该对象所占用的资源。所占用的资源。庇跨魄赫亦

70、状援煽形蕴要注茶杨阵位官士睦奥杜渤锌塌氓昼码塌泼穗剖叁第7章类和对象ppt课件第7章类和对象ppt课件7.2.9this关键字的用途关键字的用途n在普通方法或者构造方法中,在普通方法或者构造方法中,this表示当前对表示当前对象的引用,即普通方法或者构造方法被调用象的引用,即普通方法或者构造方法被调用的对象的对象。使用。使用this就可以在普通方法和构造方就可以在普通方法和构造方法中使用当前对象的任何成员变量。法中使用当前对象的任何成员变量。nthis关键字有两种用途:关键字有两种用途:n1)使用)使用this来引用成员变量来引用成员变量如果参数与成员变量重名,则会覆盖成员如果参数与成员变量重

71、名,则会覆盖成员变量,此时可以使用变量,此时可以使用this来引用成员变量进来引用成员变量进行区分。行区分。母颁窜常苫炒酸臀葡功血秸猪俘孽癌拈凤煮停诱衣吓脐你着景磺允渭莲逆第7章类和对象ppt课件第7章类和对象ppt课件7.2.9this关键字的用途关键字的用途【例【例7-11】在项目中创建在项目中创建Book类,在构造方类,在构造方法中初始化其状态。法中初始化其状态。public class Book private String title; / 定义字符串保存书名定义字符串保存书名 private String press; / 定义字符串保存出版社定义字符串保存出版社 public B

72、ook(String title, String press, ) this.title = title; this.press = press; 湖琐敏裴未痘裹现骨马再吐码招此顷杯畴诉慧督石阿而食保赦堰豪玲郑平第7章类和对象ppt课件第7章类和对象ppt课件7.2.9this关键字的用途关键字的用途n2)使用)使用this来引用构造方法来引用构造方法如果类中定义了多个构造方法,可以使用如果类中定义了多个构造方法,可以使用this来进行简化。来进行简化。饶躬育邑答少兆剿叁仰空盗蝗穆冠十吐跑惜编教造捕提坐阐忿豫辊刑卵拘第7章类和对象ppt课件第7章类和对象ppt课件7.2.9this关键字的用途

73、关键字的用途public class Book /定义成员变量定义成员变量 public Book() this(null, null, null, 0); / 使用使用this调用另一构造方法调用另一构造方法 public Book(String title, String press, ) this.title = title; this.press = press; 【例【例7-12】在项目中创建在项目中创建Book类,定义多个类,定义多个构造方法来初始化其状态。构造方法来初始化其状态。糟谆每形谜纪彪稿臭紧寓阉糟委纱箱桅华侥炉雇乎玫澡尔锑冲出佑块戚鸦第7章类和对象ppt课件第7章类和对象

74、ppt课件7.2.10static关键字的用途关键字的用途n前面的章节介绍了如何创建成员变量和成员前面的章节介绍了如何创建成员变量和成员方法。它们都方法。它们都需要先创建对象才能够使用需要先创建对象才能够使用。n对于不同的对象,成员变量可以具有不同的对于不同的对象,成员变量可以具有不同的状态,而且彼此不会受到影响。状态,而且彼此不会受到影响。n如果需要直接使用成员变量和成员方法而不如果需要直接使用成员变量和成员方法而不创建对象,则可以使用创建对象,则可以使用static关键字。关键字。它表它表明被修饰的成员是属于这个类的,而不是某明被修饰的成员是属于这个类的,而不是某个特定的对象。个特定的对象

75、。由由static修饰的变量、常量修饰的变量、常量和方法被称作静态变量、常量和方法。和方法被称作静态变量、常量和方法。废邑变试瞻蛆衫户孙靖赔吱孪眶贺疙辞戎经屎佳啊阐栗儒诬但治抨涤茧宦第7章类和对象ppt课件第7章类和对象ppt课件7.2.10static关键字的用途关键字的用途n1)静态成员变量静态成员变量static关键字应放在变量类型前。关键字应放在变量类型前。在类的在类的内部内部使用使用static变量时直接使用变量时直接使用变量变量名名即可。即可。在类的在类的外部外部使用使用static变量可以使用变量可以使用“类名类名.静态变量名静态变量名”的方式。的方式。注意:虽然静态成员也可以使

76、用注意:虽然静态成员也可以使用“对象对象. .静态成员静态成员”的形式进行调用,但这样的形式通常不被鼓励使的形式进行调用,但这样的形式通常不被鼓励使用因为这样容易混淆静态成员和非静态成员。用因为这样容易混淆静态成员和非静态成员。骤逊啼讨珐闸塌跋承河凶数镰弊撰盅罐簿蛋孵俺隶氟兄陷马逆拍仇献谁僻第7章类和对象ppt课件第7章类和对象ppt课件7.2.10static关键字的用途关键字的用途n静态成员变量的初始化:静态成员变量的初始化:静态变量只被初始化一次。静态变量只被初始化一次。在声明的同时赋予相应的初始值。在声明的同时赋予相应的初始值。利用静态初始化块对静态成员变量进行初利用静态初始化块对静态

77、成员变量进行初始化。始化。静态成员变量不能在构造方法中初始化。因为构静态成员变量不能在构造方法中初始化。因为构造方法只有在对象时才被调用,而静态变量在没有造方法只有在对象时才被调用,而静态变量在没有创建对象之前就已经存在,并且可以被引用。创建对象之前就已经存在,并且可以被引用。等希遭诀济嫩帝邢教下十靶脆富举辊膳澡蛾狮挥茂个雇苯沟酱例篮远猫其第7章类和对象ppt课件第7章类和对象ppt课件7.2.10static关键字的用途关键字的用途【例【例7-13】在项目中创建在项目中创建StaticVariable类,类,定义一个静态变量来保存该类被实例化次数。定义一个静态变量来保存该类被实例化次数。pu

78、blic class StaticVariable private static int count; public StaticVariable() count+; public static void main(String args) StaticVariable sv1=new StaticVariable();StaticVariable sv2=new StaticVariable();StaticVariable sv3=new StaticVariable();System.out.println(count); 钎祥啸鄂晰赐毅志富菇挺胀肺振荧丁加迹遗狄魔镶步细算召狡紫纯凭淳拜

79、第7章类和对象ppt课件第7章类和对象ppt课件7.2.10static关键字的用途关键字的用途n2)静态成员方法静态成员方法n静态成员方法主要是用来操作静态成员变量静态成员方法主要是用来操作静态成员变量static关键字应放在返回值类型前。关键字应放在返回值类型前。在类的在类的内部内部调用调用static方法时直接使用方方法时直接使用方法法名名即可。即可。在类的在类的外部外部调用调用static方法可以使用方法可以使用“类名类名.静态方法名()静态方法名()”的方式。的方式。帝足衰颊箱铂署淮羚功劲迫佐锦沂瘸族百韵牺邹磊祷街走襄严经仓舞倘肆第7章类和对象ppt课件第7章类和对象ppt课件7.2

80、.10static关键字的用途关键字的用途n在在JavaJava语言中对静态方法有以下两点规定。语言中对静态方法有以下两点规定。在静态方法中不可以使用在静态方法中不可以使用thisthis关键字关键字在静态方法中不可以直接调用非静态方法在静态方法中不可以直接调用非静态方法注意:在注意:在JavaJava中规定不能将方法体内的局部变量中规定不能将方法体内的局部变量声明为声明为staticstatic的。也不能在静态上下文和静态代的。也不能在静态上下文和静态代码块中使用码块中使用thisthis关键字。关键字。巫烃墨库啦缮往肘孝班毛趣置疙邹蓉升钓啮亥洽忽侈儿漆钟砂陷洲爱幼体第7章类和对象ppt课件

81、第7章类和对象ppt课件7.2.10static关键字的用途关键字的用途【例【例7-14】在项目中创建在项目中创建StaticMethods类,类,定义一个静态方法来计算给定数字的平方数。定义一个静态方法来计算给定数字的平方数。public class StaticMethods private static double power(double number) return number * number; public static void main(String args) System.out.println(power(10.5); 溪犊盔骂典线还吏题侗氛树烹杂蓄来箔欲堤诣韩萝瓤

82、桂葬惹碉路练腺镑捉第7章类和对象ppt课件第7章类和对象ppt课件public class myapp static int i = 47; public void call() System.out.println(i的值为的值为+i); public static void main(String args) myapp t1 = new myapp(); myapp t2 = new myapp(); t2.i = 60; System.out.println(对象对象1: + t1.i); t1.call(); System.out.println(对象对象2: + t2.i); t2

83、.call(); System.out.println(静态对象静态对象i:+ myapp.i); 对象对象1:60i的值为的值为60对象对象2:60i的值为的值为60静态对象静态对象i:60税异寞点隘蛙善森溶量损瑚拌搔涤新遇枯茶咽喧炭汹囚秋长驼酗峪湘抹仆第7章类和对象ppt课件第7章类和对象ppt课件7.2.11final关键字的用途关键字的用途nfinal关键字的含义是不可变,可以用来修饰关键字的含义是不可变,可以用来修饰类、成员变量和成员方法。类、成员变量和成员方法。如果修饰类,则表示该类不能够被继承。如果修饰类,则表示该类不能够被继承。如果修饰成员变量,则表示该变量一旦被赋如果修饰成员

84、变量,则表示该变量一旦被赋值之后就不能修改。值之后就不能修改。如果修饰成员方法,则表示该方法不能够被如果修饰成员方法,则表示该方法不能够被子类重写。子类重写。nfinal关键字的一个常见用法是与关键字的一个常见用法是与static关键字关键字组合来创建常量,例如组合来创建常量,例如:publicstaticfinalPI=3.1415926;大刁厌机锥尺曲会乳园鼠鞠吏帕挞徽哀煤端图里钨楞弄花跌醚朔妮蛮爹果第7章类和对象ppt课件第7章类和对象ppt课件7.2.11final关键字的用途关键字的用途【例【例7-15】创建创建FinalTest类,在类,在main()方法方法中将中将final类型

85、的成员变量进行赋值。类型的成员变量进行赋值。public class FinalTest private final int number = 2; / 声明声明final修饰的成员变量修饰的成员变量 public static void main(String args) new FinalTest().number = 5; / 对成员变量进行赋值对成员变量进行赋值 盅恃垄虐避皖寸炽臼曹颐蚕抗脱诅滴入术并苫琵域悟撮崎倾淤池炉党海贩第7章类和对象ppt课件第7章类和对象ppt课件7.2.12包的定义与使用包的定义与使用n包是包是Java中管理源代码文件的方式。在前面中管理源代码文件的方式。在

86、前面内容中,编写的内容中,编写的Java文件都使用了默认的包文件都使用了默认的包空间。随着文件个数不断的增加,肯定增加空间。随着文件个数不断的增加,肯定增加了文件命名的难度,也不便于文件的管理。了文件命名的难度,也不便于文件的管理。n通过使用包,可以具有如下优势:通过使用包,可以具有如下优势:1)便于区分哪些类是相关的)便于区分哪些类是相关的2)在不同的包中,可以存在相同名称的类)在不同的包中,可以存在相同名称的类3)可以使用包来控制访问权限)可以使用包来控制访问权限霉咐巢衫祥丑鲁萄迭值肥恰甩刘邮把休啃赎嗣垂袁牡锤鳞布颤饱蚀嗓顽侣第7章类和对象ppt课件第7章类和对象ppt课件7.2.12包的

87、定义与使用包的定义与使用n声明包的语法如下:声明包的语法如下:packagecom.mingrisoft;n注意:注意:使用使用package声明包时,该语句必须放在声明包时,该语句必须放在源代码的源代码的第一行第一行。前面可以存在前面可以存在注释代码注释代码,但是不能有类定,但是不能有类定义等代码。义等代码。回犬舅头哑炸常即浓森浮驳兽孽使卫串舰酞盟彰奇耘等兆缠获醇排裸震谱第7章类和对象ppt课件第7章类和对象ppt课件7.2.12包的定义与使用包的定义与使用n除了除了java.lang包中的类,其他的工具类需要包中的类,其他的工具类需要导入其所在的包才能够使用。导入其所在的包才能够使用。n有

88、有2种导入类的方式:种导入类的方式:n1)使用使用import语句导入需要使用的类语句导入需要使用的类importjava.util.Date;n2)在使用工具类的地方进行导入在使用工具类的地方进行导入java.util.Datedate=newjava.util.Date();椭差械衣回躇磐奶詹鹿垮嘛瓤阉递让性绝都恋毋巴要某吮痴怀郑炊赶壳篙第7章类和对象ppt课件第7章类和对象ppt课件7.2.12包的定义与使用包的定义与使用p如果需要使用一个包中的多个类,可以使用如果需要使用一个包中的多个类,可以使用*来进行整体导入,例如:来进行整体导入,例如:importjava.util.*;p这样就

89、可以使用这样就可以使用java.util包中的任何类了。包中的任何类了。p注意:使用注意:使用*仅能导入包中的类,不能导入包仅能导入包中的类,不能导入包的子包中的类。读者可以将其理解为导入一的子包中的类。读者可以将其理解为导入一个文件夹中的文件,但不包括这个文件夹的个文件夹中的文件,但不包括这个文件夹的子文件夹中的文件。子文件夹中的文件。守助思檬潜葛辆蓟莫知讽备堡每申末淆尘啦誊弛将使业巢佛油匡配赃斜徐第7章类和对象ppt课件第7章类和对象ppt课件7.3注释注释n7.3.1预定义注释预定义注释n7.3.2自定义注释自定义注释皱谍醋驾胃泥听窒休望僻弛橇绪铲蚜寐漠忠超沂肖思辑轰淑矢初裳黎闻琼第7章

90、类和对象ppt课件第7章类和对象ppt课件7.3.1预定义注释预定义注释n常用的预定义注解包括常用的预定义注解包括Deprecated、Override和和SuppressWarnings三种。三种。Deprecated注解用于标示弃用的类或者方注解用于标示弃用的类或者方法等,它们应该不再使用。法等,它们应该不再使用。Override注解通常用于修饰重写的方法注解通常用于修饰重写的方法,如果开发人员并没有遵守重写的规则,则会如果开发人员并没有遵守重写的规则,则会给出提示。给出提示。SuppressWarnings注解用于压制警告信息,注解用于压制警告信息,例如没有指明泛型的类型。例如没有指明泛

91、型的类型。蜡睹妙募袍倡亥曰编事酣烁嘿锰蠢就引扔殆适纺筏洱少谦泰投爬馒大姬兜第7章类和对象ppt课件第7章类和对象ppt课件7.3.2自定义注释自定义注释n在进行项目开发时,通常在类的开始部分统在进行项目开发时,通常在类的开始部分统一增加注解信息。一增加注解信息。n这些信息包括代码的作者、文件创建时间、这些信息包括代码的作者、文件创建时间、最后修改时间和版本信息等。如果使用注解,最后修改时间和版本信息等。如果使用注解,可以对它们进行统一定义。可以对它们进行统一定义。n说明:在定义注解时,需要使用大括号包含说明:在定义注解时,需要使用大括号包含注解的内容。在使用注解时,需要使用小括注解的内容。在使

92、用注解时,需要使用小括号来包含注解的内容。号来包含注解的内容。痕够聊丢暗遏虞澈瞩摇群洼梁渤验喘庚斡吐洞众惭策令扬陨赴渠屹询键焊第7章类和对象ppt课件第7章类和对象ppt课件补充:包装类补充:包装类Integer类类nInteger类在对象中包装了一个基本类型类在对象中包装了一个基本类型int的的值。设计的初衷是为了在基本类型值。设计的初衷是为了在基本类型int和引用和引用类型之间建立一座桥梁。类型之间建立一座桥梁。常琐釉炮娃并付崎迅峻裔榨块石蘑育筋昆籽占季陶醋陷哀涧群壳耻墨幽充第7章类和对象ppt课件第7章类和对象ppt课件补充:包装类补充:包装类Integer类类方法名作用toBinary

93、String(int i)返回指定数字i的二进制表示形式toOctalString(int i)返回指定数字i的八进制表示形式parseInt(String s)返回包含在由str指定的字符串中的数字的等价整数值intValue()以int型返回此Integer对象valueOf(String str)返回保存指定的String的值Integer对象toString()返回一个表示该Integer值的String对象表表1 Integer1 Integer类常用方法类常用方法诗彩羹铱坷白馒顷逗故沁缚雀毋亥仰杏略溉专简掠蚂沮诞糜彰羹渝邀赴部第7章类和对象ppt课件第7章类和对象ppt课件Syst

94、em.out.println(请输入一个十入一个十进制数字:制数字:);Scanner scan = new Scanner(System.in);int num = scan.nextInt();String value = Integer.toBinaryString(num);System.out.println(该数字的二数字的二进制格式制格式为:+value);value = Integer.toHexString(num); System.out.println(该数字的十六数字的十六进制格式制格式为:+value);value = Integer.toOctalString(nu

95、m); System.out.println(该数字的八数字的八进制格式制格式为:+value); 侥湾啊绸淆逆爹雌风戮凌壤丛同知早糠浊茵幼味鸿拨帖衅崎雀柏纹忍蝴俞第7章类和对象ppt课件第7章类和对象ppt课件补充:包装类补充:包装类Integer类类nInteger类提供了几个常量:类提供了几个常量:MAX_VALUE:表示:表示int类型可取的最大值。类型可取的最大值。即即231-1。MIN_VALUE:表示:表示int类型可取的最小值。类型可取的最小值。即即-231。SIZE:表示:表示int值的比特位数。值的比特位数。围四幸匣姬嗽茁侦症凳孙睛痢至邦励羹肖匀严互卧秋龄啼凋罐摈疼针剖何第

96、7章类和对象ppt课件第7章类和对象ppt课件补充:包装类补充:包装类Integer类类int maxint = Integer.MAX_VALUE; int minint = Integer.MIN_VALUE;int intsize = Integer.SIZE;System.out.println(int类类型可取的最大型可取的最大值值是:是: + maxint);System.out.println(int类类型可取的最小型可取的最小值值是:是: + minint);System.out.println(int类类型的二型的二进进制位数是:制位数是: + intsize);莫嚣盲歧化村

97、膏译盈片萍兹继赏疲爷挟甭比旦歧宏刮系谣钵蛆蔚道娶咯陡第7章类和对象ppt课件第7章类和对象ppt课件补充:补充:Character类类nCharacter类是类是char类型的包装类,类型的包装类,Character类在对象中包装一个基本类型类在对象中包装一个基本类型char的值。的值。n把字符编码转换为字符数组把字符编码转换为字符数组使用使用Character类的类的toChars()方法可以将方法可以将指定的代码点转换成指定的代码点转换成UTF-16编码的编码的char数数组组publicstaticchartoChars(intcodePoint)参数说明:参数说明:codePoint是

98、一个是一个Unicode代码代码点,也可以看做字符编码值。点,也可以看做字符编码值。疏浸启釉盾盾愁觅嵌山擞苏拄交氓责虾禹纳淀沿粟钠洋盗噶消汐抽贬期抄第7章类和对象ppt课件第7章类和对象ppt课件String s;Scanner sc=new Scanner(System.in);System.out.println(input string);s=sc.nextLine();int x=Integer.parseInt(s);System.out.println(整型整型x=+x);char a = Character.toChars(x);String str=new String(a);

99、System.out.println(字符串字符串str=+str+);input string20013整型整型x=20013字符串字符串str=中中补充:补充:Character类类茬锦轴爬音诺酿互殃恢女诞钙释盖检秸探添篆业凿添出粗韧士饿瘸酥唉刺第7章类和对象ppt课件第7章类和对象ppt课件知识点提炼知识点提炼n(1)对象是对现实世界事物的模拟,它具有属性)对象是对现实世界事物的模拟,它具有属性和行为。和行为。n(2)类是创建对象的模板,它可以创建多个具有)类是创建对象的模板,它可以创建多个具有相同属性和行为的对象。相同属性和行为的对象。n(3)面向对象的三大特性包括)面向对象的三大特性

100、包括封装、多态和继承封装、多态和继承n(4)使用)使用class关键字来定义类。关键字来定义类。n(5)在创建对象时,会调用类的构造方法。构造)在创建对象时,会调用类的构造方法。构造方法并没有返回值,且方法名称与类名相同。方法并没有返回值,且方法名称与类名相同。n(6)Java中方法在传递参数时,使用的是值传递中方法在传递参数时,使用的是值传递叹鸯者朝筹漏学舱菜淡炎差玛湾刻旱闹映疲治害胡勉孩掏瑟蛮画孩疆章污第7章类和对象ppt课件第7章类和对象ppt课件知识点提炼知识点提炼n(7)this关键字用于表示对当前对象的引用。关键字用于表示对当前对象的引用。n(8)访问权限修饰符包括)访问权限修饰符

101、包括public、private、protected等等4种。种。n(9)static关键字用来定义类变量和类方法,它关键字用来定义类变量和类方法,它们可以直接使用类名调用,而不必创建类对象。们可以直接使用类名调用,而不必创建类对象。n(10)final关键字用于保证不可修改。关键字用于保证不可修改。n(11)包用来管理)包用来管理Java文件。文件。n(12)注解可以为代码增加额外的信息但是并不)注解可以为代码增加额外的信息但是并不直接影响代码的运行。直接影响代码的运行。枪腔厄埃眠雨吉介你镑询沃鸿沼隧捧架径谍疡纶褥惭携酥傻斤仙摹扒胀结第7章类和对象ppt课件第7章类和对象ppt课件作业作业n1.设计一个长方形类,成员变量包括长和宽。设计一个长方形类,成员变量包括长和宽。类中有计算面积和周长的方法,并有相应的类中有计算面积和周长的方法,并有相应的set方法和方法和get方法设置和获得长和宽。要求使方法设置和获得长和宽。要求使用自定义的包。用自定义的包。n2.设计一个点类(设计一个点类(Point),具有成员变量具有成员变量x,y(点的坐标点的坐标),类中有设置和获取成员变量的方法,类中有设置和获取成员变量的方法,以及求两点距离的方法。以及求两点距离的方法。袋冕瞳梢野炼弃蔫贞噎犊铺淫态稚铡祸拴杯勒斋颈空诱母庐瘸年愧央垦粕第7章类和对象ppt课件第7章类和对象ppt课件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

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