第7章 Java方法.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 Java方法

7.6.3 发生了什么 在参数传递过程中,只是改变了引用指向的对象,并没有创建出新的对象。当然,对于基本数据类型来说,参数传递的过程就是给基本数据类型变量赋值的过程。 7.7 加餐:局部变量和实例变量 本章中讲述了太多不易理解而且容易误解的内容。本节中我们来点容易的东西,算是我们本章大餐中的一个加餐吧。 到现在为之,我们在不知不觉间已经遇到了Java的两类变量。这两类变量是按照其作用域来分的。他们的名字分别叫做局部变量和实例变量。下面我们开始对这两类变量进行一个解释。 7.7.1 什么是局部变量(Local Variable) 我们先看一下局部变量,然后再对其进行解释。下面是一个极其精简的类,类中有一个方法,作用就是为大家演示局部变量。 局部变量是指在方法中声明的变量。 局部变量的作用域是从声明开始,到方法体结束。 在读取一个局部变量之前,必须要给这个局部变量赋值。 7.7.2 什么是实例变量(Instance Variable) 在一个类中,声明在方法外的变量叫做实例变量。之所以叫做实例变量。 实例变量是定义在类里面的变量,与方法平级。 实例变量的定义需要三部分:问控制符(可没有)+数据类型+变量名。 实例变量可以有访问控制符。 实例变量具有初始值,使用时不比关心是否已经赋值。 7.8 this关键字:指向对象自己的引用 本节也是一大难点,难在理解。按照通常的顺序,this关键字本应放在第6章讲解。但是因为第6章我们专注讲解类和方法的概念,将类简化到只定义了几个实例变量。在给类添加方法(method)之前,我们是无法让this这个关键字施展拳脚的。 7.8.1 发现问题:当实例变量和局部变量重名 我们在前面学习过,方法中既可以使用实例变量,也可以使用方法中的局部变量。那么,当实例变量与局部变量重名的时候,会发生什么事情呢?会不会出错呢? 方法中使用到的变量的寻找规律是先找局部变量,再找实例变量,如果再没有找到,将会有一个编译错误而无法通过编译。 7.8.2 经常深藏不露的this关键字 this关键字是在方法中使用,是指向对象自己的引用。 this关键字只能在方法中使用,是用来指代调用方法的类的对象的。 如果使用this关键字访问一个变量,则是访问实例变量而非局部变量。Java平台不会在方法的局部变量中寻找。这点跟不加this关键字不同。 7.8.3 在方法中调用方法 在方法中调用方法是Java中很常用的。要写程序多理解其过程。当迷茫的时候,就看看本节中的那个流程图。 在同一个类中,Java普通方法的互相调用可以省略this+点号,而直接使用方法名+参数。因为Java编译器会帮我们加上。 7.9 构造方法(Constructor) 在第6章中,我们介绍了new关键字。知道new的作用是用来创建一个类的对象的。这里,我们来认识一下在对象创建过程中的另一个重要的部分——构造方法。 7.9.1 构造(Constructor)方法初探 首先,我们来给我们的老朋友Car类添加一个构造方法,为了节省篇幅,在这里将不再给出Car类中的方法,只列出Car类的实例变量和构造方法。 构造方法没有返回值类型(不能使用void),但是构造方法内可以使用return 构造方法名必须与类名一样。 只有同时具备以上两个条件,一个方法才是一个构造方法。 7.9.2 如何使用构造方法 Java语法规定,一个类可以有多个构造方法,至少要有一个构造方法。 Java平台在创建出一个对向后,会根据new语句中给出的类名和参数来调用相应的构造方法。 一个类可以有多个构造方法,它们之间是重载关系。必须使用参数加以区分。 Java平台是构造方法的调用者,在构造方法里我们可以再去调用本类中另外的构造方法。 构造方法可以调用Java普通方法。但是Java普通方法不可以调用构造方法。 7.9.3 留个无参数的构造方法——给重要属性赋初始值。 Java编译器在编译一个类的时候,只会在那个类没有任何构造方法的时候,才会给一个类添加一个空的、什么都不做的构造方法。 给类留个无参数的构造方法,并在这个方法中对重要属性赋初始值是个好习惯。这样可以让类更容易的被使用,并减少程序出错的概率。 在类的每一个构造方法中都给类的重要属性赋初始值是个好习惯。 7.9.4 在构造方法中调用构造方法 通过上一节,我们的Car类变成了如下的样子(只包括实例变量和构造方法)。 通过this+构造方法实参,可以在一个构造方法中调用同类的另一个构造方法。 通过this+构造方法实参调用同类中的另一个构造方法的时候,必须将这个放在构造方法的第一行。 7.10 方法大汇总 (1)首先我们假设车的速度超过80就是超速。 (2)我们给Car类增加一个boolean的属性叫做isTr

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档