方法:实现具体功能的代码段 能够提高代码的复用性
方法要定义在类中方法外,方法不能嵌套
1 定义语法
有返回值类型
修饰符 返回值类型 方法名([参数列表]){
具有某些功能的代码块;
return 返回值;
}
修饰符
返回值类型
方法名
()->参数列表
参数列表可以定义,可以不定义
参数可以存在0个,可以存在多个
格式为(数据类型 参数名1,数据类型 参数名2,...) eg:(int a , int b)
return
return必须存在且后面必须有返回值
没有返回值类型的方法
修饰符 void 方法名([参数列表])){
方法体语句;
[return;]
}
void : 没有返回值
return : 提前结束方法
2 调用语法
直接调用: 方法名();
赋值调用: 返回值类型 变量名= 方法名();
输出调用: System.out.println(方法名());
3 参数
形式参数:形参 :方法定义的时候()中的参数
实际参数:实参 :方法调用的时候()中的参数
个数,顺序,数据类型
数据兼容
4 重载
同一个类中 多个相同方法名 具有不同的参数列表(个数 类型 顺序)
方法签名不同: 方法名+参数列表 ->方法的唯一标识
其中:
方法的重载和方法的修饰符无关
方法的重载和方法有没有返回值类型无关
方法的重载和方法返回值类型无关
方法的重载和方法参数名无关
5 return
对于有返回值类的方法 return的作用是 结束方法 带出返回值
对于无返回值类的方法 return的作用是 结束方法
6 递归
自己调用自己
临界条件 让递归停下来的条件
递归前进段 到临界条件之前一直自己调用自己
递归后退段 到达临界条件之后,把结果返回给上一层
public class T1 {
public static void main(String[] args) {
System.out.println(rec(3)); //引用方法
}
public static int rec(int n){
if(n==1){ //临界条件
return 1; //临界返回值
}
return n*rec(n-1); //递归体
}
}
7 方法的内存分析
JVM的内存分析
JVM的内存分析
方法调用的内存分析
方法调用的内存分析