方法概述:
假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹。发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个“{}”中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。上面描述的过程中,所提取出来的代码可以被看作是程序中定义的一个方法,程序在需要发射炮弹时调用该方法即可。
比如说《植物大战僵尸》中发射的炮弹:
定义:
简单的说方法就是完成特定功能的代码块
- 在很多语言里面都有函数的定义
- 函数在Java中被称为方法
格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}
格式解释:
- 修饰符:比较多,一般是public static
- 返回值类型:用于限定返回值的数据类型
- 方法名:一个名称,为了方便我们调用方法
- 参数类型:限定调用方法时传入参数的数据类型
- 参数名:是一个变量,接收调用方法时传入的参数
- 方法体:完成功能的代码
- Return:结束方法以及返回方法指定类型的值
- 返回值:程序被return带回的结果,返回给调用者
例子:
public class FunctionDemo {
public static void main(String[] args) {
int x=10;
int y=20;
int result=sum(x,y);
System.out.println(result);
}
public static int sum(int a, int b){
return a+ b;
}
}
第一步:程序从main方法开始执行
第二步:定义两个int 类型的变量
第三步:调用方法
第四步:分别把x,y的值给了a,b
第五步:把a+b的结果计算出来,30
第六步:通过return 把30返回来
写方法的时候要有两个明确:
- 返回值类型:明确功能结果的数据类型
- 参数列表:明确有几个参数,以及参数的类型
要注意的是方法不调用不执行,方法与方法是平级关系,不能嵌套定义,定义的时候参数之间用逗号隔开;方法调用的时候不用再传递数据类型,如果方法有明确的返回值,一定要有return带回一个值
方法重载
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。方法重载的特点是与返回值类型无关,只看方法名和参数列表,在调用时,虚拟机通过参数列表的不同来区分同名方法。