
涉及内容
1. 【理解】什么是方法
2. 【掌握】方法的格式
3. 【理解】方法的执行流程
4. 【理解】方法的重载
5. 【理解】方法参数的传递
一、方法定义
- 方法就是具有特定独立功能的代码集,方法的使用可以减少代码的冗余、提高代码可复用性、增强代码可维护性可扩展性。
二、方法的格式
访问修饰符 返回值类型 方法名(参数列表){
方法体....
return 返回值;
}
如:
public static int sum(int a,int b){
int c = a+b;
return c;
}
- 访问权限修饰符,主要限制该方法的被访问权限大小
- 返回值类型,可以是基本数据类型、引用数据类型(包括自定义类),当返回值类型为void时,表示没有返回值,可省略return
- 方法名,就是标识符,尽量满足见名知意+驼峰命名法
- 参数列表,可以有0~无穷个参数,中间用逗号隔开即可
- 方法体,根据方法要实现的功能具体编写,除返回值类型为void外,必须有*return 返回值;*语句
- 方法定义的位置:类里面,且方法不能嵌套定义
- return 后跟的返回值,一般叫做方法返回值
- 方法参数列表中声明的变量叫做:形式参数;调用方法时使用的参数叫做:实际参数
三、方法的重载
- 同一类中、父子类中 定义方法可以重载,重载使用情况往往是实现功能相同,参数类似的方法。
- 判断重载的规则:方法名相同 + 参数列表不同(二者同时成立时才是重载,与方法其他部分没关系)
- 参数列表不同分为三种:
- 参数个数不同
- 参数个数相同,参数类型不同
- 参数个数相同,参数类型顺序不同
1.public void add(){}
2.public static String add(){}
3.public String add(int a,char b){}
4.void sum(){}
5.void add(char a,int b){}
四、方法参数
- 对于方法参数列表中的基本数据类型变量(形式参数),因为基本数据类型变量存放的是常量池中的常量的地址值, 调用方法是只是将实际参数的值赋值给了形式参数,任形式参数随意改变,并不会改变实际参数对应变量存储的地址值
int i = 0;
add(i);
public void add(int a){
a = 3;
}
- 对于方法参数列表中的引用数据类型变量(形式参数),这个存储知识是牵涉栈、堆、常量池,数组在jvm中的存储结构知识提到过,其他引用数据类型变量存储类似数组数组jvm存储结构。调用方法是传递的是栈中变量名存储的地址(对应堆中存储内容地址),所以形式参数改变时,改变的就是地址,这里将导致实际参数对应变量存放的地址也发生改变。
int[] arr = new int[9];
a(arr);
b(arr);
public void a(int[] ar){
ar[0] = 1;
}
public void b(int ar){
int[] array = {0,9,8,7};
ar = array;
}
java基础笔记004