目录
1、什么是方法?
- 方法是把一些相关的语句组织在一起,用于解决某一特定问题的语句块。方法必须放在类定义,也就是说,方法必须是某一个类的方法。
- 定义:方法就是完成特定功能的代码块
2、方法的格式:
[修饰符] 返回值类型 方法名(参数类型 形式参数1,参数类型 形式参数2,....){
程序代码
return 返回值;
}
返回值类型:用于限定返回值的数据类型,无返回值void
方法名:一个名称,为了方便我们调用方法
参数类型:限定调用方法时传入参数的数据类型
参数名:是一个变量,接收调用方法时传入的参数
方法体:完成功能的代码
return 结束方法以及返回方法指定类型的值
返回值:程序被return带回的结果,返回给调用者
3、方法的调用
3.1、方法调用的过程分析
3.2、方法调用的一般形式为:
方法名 ([参数列表])
3.3、方法调用的注意事项
- 参数的个数、类型和顺序,应该与被调用方法所要求的参数个数、类型和顺序一致,才能正确地进行数据传递。
- 无参方法直接调用方法名。
- 有参方法比无参方法多了一个参数表。调用有参方法时,调用方法将赋予这些参数实际的值。
- 为了与调用方法提供的实际参数区别开,将方法定义中的参数表称为形式参数表,简称形参表。
4、方法的参数传递
Java里方法的参数传递方式只有一种:值传递。即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响。
- 形参:方法声明时,方法小括号内的参数
- 实参:调用方法时,实际传入的参数的值
- 规则:java中的参数传递机制有两种类型
形参是基本数据类型(以及String):将实参的值传递给形参的基本数据类型的变量,形参的操作不会影响实际的参数
形参是引用数据类型(除String以外):将实参的引用类型变量的值(对应的堆空间的对象实体的首地址值)传递给形参的引用类型变量,形参的操作会影响实际的参数
5、方法的返回值和返回类型
5.1、返回值与return语句
有参函数的返回值,是通过函数中的return语句来获得的。
- return语句的一般格式:return 返回值表达式;
- return语句的功能:返回调用函数,并将“返回值表达式”的值带给调用函数。
注意:调用函数中无return语句,可以用“void”定义成“无(空)类型”。
5.2、函数类型
在定义函数时,对函数类型的说明,应与return语句中、返回值表达式的类型一致。
6、方法的作用域
作用域也就是作用范围,它有局部作用域和类作用域之分。
-
局部作用域
在java中,局部变量被定义在某个区块中。也就是说,某区块中定义的变量,只能供这个区块使用,区块以外使用则报错。
在方法主体中声明的变量只具有那个方法的作用域;一旦方法结束,它们也会消失,而且只能由那个方法内部执行的代码来访问。这些变量称为局部变量(localvariable),因为它们局限于声明它们的那个方法,不能在其他任何方法的作用域中使用。换言之,你不能使用局部变量在不同的方法之间共享信息。 -
类作用域
在类定义体中(但不在某个方法中)声明的任何变量都具有那个类的作用域。在java语言中,使用成员变量一词来描述由一个类定义的变量。和局部变量不同,可以使用成员变量在不同的方法之间共享信息。
7、方法重载
如果两个方法名同名,而且在同一个作用域中声明,就可以说它们重载。方法重载是声明两个以上的同名方法,以实现对不同数据类型的相同处理。
方法重载有两点要求:
- 重载的方法名称必须相同
- 参数列表必须不相同。即参数列表个数不同,参数类型不同,参数类型的顺序不同
注意:方法重载和返回值类型无关
方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要它们的参数个数或类型不同即可。如:
public class Test{
public static void main(String [] args){
int isum;
double dsum;
isum=add(3,5);
isum=add(3,5,6);
dsum=add(3.2,6.5);
}
public static int add(int x,int y) { reutrn x+y; }
public static int add(int x,int y,int z) { return x+y+z; }
public static double add(double x,double y){ return x+y; }
}
方法重载特点:
- 与返回值类型无关,只看方法名和参数列表
- 在调用时,虚拟机通过参数列表的不同来区分同名方法