4.4 成 员 方 法 成员方法描述对象所具有的功能或操作,反映对象的行为, 是具有某种相对独立功能的程序模块。它与过去所说的子程序、 函数等概念相当。一个类或对象可以有多个成员方法,对象通过 执行它的成员方法对传来的消息作出响应,完成特定的功能。成 员方法一旦定义,便可在不同的程序段中多次调用,故可增强程 序结构的清晰度,提高编程效率。例如,下面的成员方法可完成 两个整数的求和运算,一旦完成了它的编写和调试,便可在程序 中随时调用该方法,传递不同的参数来完成任意两个整数的求和 运算。 第4章 类 与 对 象 int add(int x,int y) { int z; z=x+y; return(z); } 第4章 类 与 对 象 4.4.1 成员方法的分类 为了便于理解,我们先来看看成员方法的分类。我们可以 从不同的角度出发,对成员方法进行分类。 从成员方法的来源看,可将成员方法分为: (1) 类库成员方法。这是由Java类库提供的,用户只需要按 照Java提供的调用格式去使用这些成员方法即可。 (2) 用户自己定义的成员方法。这是为了解决用户的特定 问题,由用户自己编写的成员方法。程序设计的主要工作就是 编写用户自定义类、自定义成员方法。 第4章 类 与 对 象 从成员方法的形式看,可将成员方法分为: (1) 无参成员方法。例如,void printStar( ){ ……} (2) 带参成员方法。例如,int add(int x,int y){ …… } 当然,还可以从成员方法的功能上将其分为数学运算方法、 字符处理方法、图形方法等。介绍上面分类的主要目的是为了 帮助我们理解类库成员方法、带参成员方法等几个最常用的名 词。实际上,类库成员方法可以是无参成员方法,也可以是带 参成员方法。同样,某个带参成员方法既可能是类库成员方 法,也可能是用户自已定义的成员方法。 第4章 类 与 对 象 4.4.2 声明成员方法的格式 在Java程序中,成员方法的声明只能在类中进行,格式如 下: [修饰符] 返回值的类型 成员方法名(形式参数表)throw [异常表] { 说明部分 执行语句部分 } 第4章 类 与 对 象 成员方法的声明包括成员方法头和方法体两部分,其中: 成员方法头确定成员方法的名字、形式参数的名字和类型、返 回值的类型、访问限制和异常处理等;方法体由包括在花括号 内的说明部分和执行语句部分组成,它描述该方法功能的实现。 第4章 类 与 对 象 在成员方法头中: (1) 修饰符。修饰符可以是公共访问控制符public、私有访 问控制符private、保护访问控制符protected等访问权限修饰 符,也可以是静态成员方法修饰符static、最终成员方法修饰符 final、本地成员方法修饰符native、抽象成员方法修饰符abstract 等非访问权限修饰符。访问权限修饰符指出满足什么条件时该 成员方法可以被访问。非访问权限修饰符指明数据成员的使用 方式。 第4章 类 与 对 象 (2) 返回值的类型。返回值的类型用Java允许的各种数据类 型关键字(例如,int,float等)指明成员方法完成其所定义的功 能后,运算结果值的数据类型。若成员方法没有返回值,则在 返回值的类型处应写上void关键字,以表明该方法无返回值。 (3) 成员方法名。成员方法名也就是用户遵循标识符定义 规则命名的标识符。 第4章 类 与 对 象 (4) 形式参数表。成员方法可分为带参成员方法和无参成 员方法两种。对于无参成员方法来说则无形式参数表这一项, 但成员方法名后的一对圆括号不可省略;对于带参成员方法来 说,形式参数表指明调用该方法所需要的参数个数、参数的名 字及其参数的数据类型,其格式为: (形式参数类型1 形式参数名1,形式参数类型2 形式参数 名2,……) (5) throw [异常表]。它指出当该方法遇到一些方法的设计 者未曾想到的问题时如何处理。 第4章 类 与 对 象 4.4.3 方法体中的局部变量 方法体描述该方法所要完成的功能,它由变量声明语句、 赋值语句、流程控制语句、方法调用语句、返回语句等Java允许 的各种语句成分组成,是程序设计中最复杂的部分,几乎会用 到我们已经学习过的和将要学习的绝大多数内容。 |