了解方法的基本概念
什么是java方法?
定义:方法就是完成特定功能的代码块
方法是把一些相关的语句组织在一起,用于解决某一特定问题的语句块。方法必须放在类定义,也就是说,方法必须是某一个类的方法。
另外,在应用程序中,某些任务常常要在一个程序中运行好多次,举个最简单的例子,对多个数组进行排序。此时我们就可以把这些相同的代码段写成一个单独的单元,需要的时候我们就来调用它
方法的格式
方法的格式:
[修饰符] 返回值类型 方法名(参数类型 形式参数1,参数类型 形式参数2,….)
{
程序代码
return 返回值;
}
返回值类型 用于限定返回值的数据类型,无返回值void,
方法名 一个名称,为了方便我们调用方法
参数类型 限定调用方法时传入参数的数据类型
参数名 是一个变量,接收调用方法时传入的参数
方法体 完成功能的代码
return 结束方法以及返回方法指定类型的值 返回值 程序被return带回的结果,
返回给调用者
语法:
返回值类型 方法名(参数类型 形式参数1,参数类型 形式参数2,….)
{
程序代码
return 返回值;
}
方法的调用 方法调用的一般形式为: 方法名([参数列表])
注意事项 参数的个数、类型和顺序,应该与被调用方法所要求的参数个数、类型和顺序一致,才能正确地进行数据传递。 无参方法直接调用方法名。 有参方法比无参方法多了一个参数表。调用有参方法时,调用方法将赋予这些参数实际的值。 为了与调用方法提供的实际参数区别开,将方法定义中的参数表称为形式参数表,简称形参表。
Java的实参值如何传入方法呢?
Java里方法的参数传递方式只有一种:值传递。
即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响。
1.形参:方法声明时,方法小括号内的参数 实参:调用方法时,实际传入的参数的值
2.规则:java中的参数传递机制 1)形参是基本数据类型:将实参的值传递给形参的基本数据类型的变量 2)形参是引用数据类型:将实参的引用类型变量的值(对应的堆空间的对象实体的首地址值)传递给形参的引用类型变量。
返回值与return语句
有参函数的返回值,是通过函数中的return语句来获得的。
return语句的一般格式: return 返回值表达式 ;
return语句的功能:返回调用函数,并将“返回值表达式”的值带给调用函数。
注意:调用函数中无return语句,可以用“void”定义成“无(空)类型”。
作用域也就是作用范围,它有局部作用域和类作用域之分。
局部作用域
在java中,局部变量被定义在某个区块中。也就是说,某区块中定义的变量,只能供这个区块使用,区块以外使用则报错。 在方法主体中声明的变量只具有那个方法的作用域;一旦方法结束,它们也会消失,而且只能由那个方法内部执行的代码来访问。这些变量称为局部变量(local variable),因为它们局限于声明它们的那个方法,不能在其他任何方法的作用域中使用。换言之,你不能使用局部变量在不同的方法之间共享信息。
类作用域
在类定义体中(但不在某个方法中)声明的任何变量都具有那个类的作用域。在java语言中,使用成员变量一词来描述由一个类定义的变量。和局部变量不同,可以使用成员变量在不同的方法之间共享信息。
方法的可变参数
在Java中提供了变长参数,允许在调用方法时传入不定长度的参数。本质上是基于数组。
定义方法:
…args void fun(String… args)
注意事项
可变参数只能作为函数的最后一个参数
由于可变参数必须是最后一个参数,所以一个函数最多只能有一个可变参数 Java的可变参数,会被编译器转型为一个数组
调用可变参数方法,可以给出零到任意多个参数,编译器会将可变参数转化为一个数组。
也可以直接传递一个数组
方法重载
如果两个方法名同名,而且在同一个作用域中声明,就可以说它们重载。
方法重载是声明两个以上的同名方法,以实现对不同数据类型的相同处理。
方法重载有两点要求: 重载的方法名称必须相同。
重载的方法,其形参个数或类型必须不同,否则将出现“已经定义了一个具有相同类型参数的方法成员”的编译错误。