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允许
的各种语句成分组成,是程序设计中最复杂的部分,几乎会用
到我们已经学习过的和将要学习的绝大多数内容。本着由浅入
深、循序渐进的原则,这里先提请大家注意:
(1) 在方法体内可以定义本方法所使用的变量,这种变量是
局部变量,它的生存期与作用域是在本方法内。也就是说局部
变量只在本方法内有效或可见,离开本方法则这些变量被自动
释放。
第4章 类 与 对 象
(2) 方法体内定义变量时,变量前不能加修饰符。
(3) 局部变量在使用前必须明确赋值,否则编译时会出错。
(4) 在一个方法内部,可以在复合语句中定义变量,这些
变量只在复合语句中有效,这种复合语句也被称为程序块。下
面的示例程序C4_11.java中指出了这一问题。
第4章 类 与 对 象
【示例程序c4_10.java】 局部变量及其用法。
public class c4_10
{
public static void main(String[ ] args)
{ i