方法的定义和调用格式

方法的定义和调用格式

 

方法的定义包括两部分:方法头和方法体。

一般格式为:

方法头{

                方法体的内容

}

进一步解释方法头:

方法头由方法的类型、名称和名称之后的一对小括号以及其中的参数列表所构成。无参数方法定义的方法头中没有参数列表,即方法名称之后一对小括号中无任何内容。

例如:

int speak (){                //无参数的方法头

return 23;

}

int add (int x,int y,int z){                //有参数的方法头

return x+y+z;

}

根据程序的需要,方法返回的数据类型可以是Java中的任何一种数据类型,当一个方法是void类型时,该方法就不需要返回数据。很多方法声明中都给出方法的参数,参数是用逗号隔开的一些变量声明。

方法体

方法体就是方法声明之后的一对大括号{、}以及它们之间的内容被称为方法的方法体。方法体的内容包括局部变量的声明和Java语句,即在方法体内可以对成员变量和方法体中声明的局部变量进行操作。在方法体中声明的变量和方法的参数被称作局部变量,例如:

int getSum(int n){

int sum = 0;

for(int i = 1;i < =n;i++){

sum = sum +i;

}

return sum;

}

和类的成员变量不同的是,局部变量只在方法内有效,而且与其声明的位置有关。方法的参数在整个方法内有效,方法内的局部变量从声明它的位置之后开始有效。如果局部变量的声明是在一个符合语句中,那么该局部变量的有效范围是该复合语句;如果局部变量的声明是在一个复合语句中,那么该局部变量的有效范围是该复合语句;如果局部变量的声明是在一个循环语句中,那么该局部变量的有效范围是该循环语句。

区分成员变量和局部变量

如果局部变量的名字与成员变量的名字相同,那么成员变量被隐藏,即该成员变量在这个方法内暂时失效。例如:

class Tom{

int x = 10,y;

void f(){

int x = 5;

y = x+x;//y得到的值是10,不是20。如果方法f中没有"int x = 5;",y的值将是20;

如果方法中的局部变量的名字与成员变量的名字相同,那么方法就隐藏了成员变量,如果想在该方法中使用被隐藏的成员变量,必须使用关键字this:

class Tom{

int x = 10,y;

void f(){

int x = 5;

y = x+this.x;//y得到的值是15;

}

局部变量没有默认值

成员变量有默认值,但是局部变量没有默认值,因此在使用局部变量之前,必须保证局部变量有具体的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值