1 java方法概述
方法就是完成特定功能的代码块,很多编程语言将其称之为函数,不过在java中,我们将其称之为方法。
1.1 方法的作用
假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹(如植物大战僵尸)。发射炮弹的动作需要编写200行的代码,在每次实现发射炮弹的地方都需要重复地编写这200行代码,这样程序会变得很臃肿,阅读起来十分的不方便。为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。上述过程中,所提取出来的代码可以被看作是程序中定义的一个方法,程序在需要发射炮弹时调用该方法即可。 所以说,方法提高了代码的复用性,使程序阅读起来更加方便。
2 方法的书写格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ....){
方法体;
return 返回值;
}
1 修饰符 常见的修饰符有: public 可以从所用的类访问; protected 可以被同一包中的所有类访问可以被所有子类访问,如果子类没有在同一包中也可访问; private 只能在本类中访问; 缺省无访问修饰符 在同一个包中可以访问。
2 static 可写可不写,如写了就将方法声明为静态方法。
3 返回值类型 用于限定返回值的数据类型,如果没用返回值用void
4 方法名 就是一个名称,它的存在是为了方便我们调用方法,一般方法名如果就一个单词,则全部字母都用小写,如果由多个单词组成,从第二个单词起,每个单词首字母大写,其余都为小写。
5 参数类型 限定调用方法时传入参数的数据类型,没有传递参数时,括号为空。
6 参数名 是一个变量,接收调用方法时传入的参数 通常称之为形式参数,它的作用是用来接收实际参数的。
7 方法体 完成功能的代码
8 return 结束方法以及返回方法指定类型的值 吗,如果没有返回值,可以不写。
9 返回值 就是功能的结果,由return带回,带回给调用者。
3 方法的注意事项
4. 方法调用时不用在传递数据类型;
5.如果方法有声明返回值类型,一定要用return语句返回一个与返回值类型相符的值。
4 方法的重载和覆盖
5. 关于方法的形式参数的值传递的思考
public static void main(String[] args) {
int a = 2; //定义一个int类型的变量a
add(a); //调用add方法
System.out.println("main方法中的a:"+a);//打印a的值
}
public static void add(int a) {
a = a + 1; //将a+1的值赋给a
System.out.println("add方法中的a:"+a);//打印a的值
}
上一段代码运行的结果是
add方法中的a:3
main方法中的a:2
结果在main方法中,a的值仍然为2并没有发生改变:
public static void main(String[] args) {
int[] arr = {2,3}; //定义一个int数组arr
change(arr); //调用change方法
System.out.println("输出main方法中的数组");
for(int i:arr) {
System.out.print(i+" "); //打印a的值
}
System.out.println();
}
//更改数组中元素的位置
public static void change(int[] arr) {
int temp=arr[0];
arr[0]=arr[1];
arr[1]=temp;
System.out.println("输出change方法中的数组");
for(int i:arr) {
System.out.print(i+" "); //打印a的值
}
System.out.println();
}
上一段代码中,我们将数组arr传递到change方法中,程序运行的结果如下:
3 2
输出main方法中的数组
3 2
可以看出,main方法中的数组也发生了改变。